当前位置:首页>php>PHP→Python:5 天速通指南 Day 1

PHP→Python:5 天速通指南 Day 1

  • 2026-08-18 23:10:37
PHP→Python:5 天速通指南 Day 1

写给有 3-5 年+ PHP 经验、想快速上手 Python 的程序员。不教基础编程概念,只讲 PHP 到 Python 的关键差异和避坑指南。


为什么写这个系列?

我写了 10 年 PHP,从 ThinkPHP 到 Laravel,从传统电商到 Shopify 独立站。2026 年,AI 浪潮来了,Python 成了绕不开的语言——大模型 API、ComfyUI 自动化、数据分析,全都是 Python 生态。

我给自己定了 5 天速成 Python 的计划,不是从零学编程,而是用 PHP 的直觉快速映射到 Python。5 天后,我成功接入了大模型 API、搭建了 FastAPI 服务、自动化了 ComfyUI 图片生成流程。

这个系列就是我这 5 天的学习笔记,专门写给和我一样有 PHP 背景、想快速转型的程序员。

适合谁看:

  • 3-5 年+ PHP 开发经验
  • 熟悉 Web 开发、API、数据库
  • 想快速上手 Python 接 AI 项目或做自动化

不适合谁看:

  • 零基础编程新手(这个系列假设你有编程基础)
  • 想深入学 Python 底层原理的(这个系列是速成实战)

Day 1:语法速通 + 转型避坑

今天的目标很简单:让 PHP 老手快速看懂 Python 代码,并避开最容易踩的坑

一、环境搭建(30 分钟)

先装 Python。去 https://www.python.org/downloads/ 下载 Python 3.10.x(推荐 3.10.11,这是最后一个有完整 Windows 安装包的 3.10 版本,AI 生态兼容性较好)。

安装时最重要的一步:勾选 “Add python.exe to PATH”。不勾选的话,命令行找不到 python 命令。

装完后打开 CMD 验证:

python --version# 应该输出 Python 3.10.xpip --version# 应该输出 pip 2x.x.x

再装个 VS Code,装上 Python 扩展,就能开始写代码了。

PHP vs Python 环境对照:

概念
PHP
Python
运行环境
php.exe
python.exe
包管理器
composer
pip
依赖文件
composer.json
requirements.txt
虚拟环境
vendor/
.venv/
执行脚本
php index.php
python main.py
Web 框架
ThinkPHP / Laravel
FastAPI / Flask / Django

💪 所谓万事开头难,能够完成环境搭建,你已经向前迈出了标志性的一步,恭喜! 接下来我们快速过一遍语法,你会发现 PHP 老手学 Python 还是很轻松的。

二、语法速通(2 小时)

2.1 最基础的差异

Python 和 PHP 最大的区别:没有 {},用缩进代替。没有 $,没有 ;

# ===== 变量:不需要 $ 和类型声明 =====name = "张三"# PHP: $name = "张三";age = 38# PHP: $age = 38;price = 99.9# PHP: $price = 99.9;is_vip = True# PHP: $is_vip = true;# 注意首字母大写items = None# PHP: $items = null;# None 不是 null# ===== 字符串插值 =====greeting = f"你好,我叫{name},今年{age}岁"# PHP: "你好,我叫{$name},今年{$age}岁"# ===== 打印 =====print("Hello World")# PHP: echo "Hello World";print(f"名字:{name}")# PHP: echo "名字:{$name}";

2.2 数据结构:从"一个 array 通吃"到"四种数据结构"

这是 PHP 程序员最大的思维转换。PHP 只有一个 array,Python 有四种:

# ===== 列表 List(对标 PHP 索引数组)=====products = ["假发A""假发B""假发C"]products.append("假发D")# PHP: $products[] = "假发D";products[0]# "假发A"len(products)# 4,PHP 用 count($products)# ===== 字典 Dict(对标 PHP 关联数组)=====product = {    "name""渐变卷发",    "length"10,    "price"299.00,    "in_stock"True}# PHP: $product = [#   "name" => "渐变卷发",#   "length" => 10, ...# ];product["name"]# "渐变卷发"product.get("weight"0)# 安全获取,不存在返回默认值 0# PHP: $product["weight"] ?? 0# ===== 元组 Tuple(不可变的列表)=====position = (100200)# 创建后不能修改x, y = position# 解构赋值# ===== 集合 Set(去重)=====tags = {"假发""美发""时尚""假发"}# 自动去重tags.add("新品")

2.3 控制流:for 循环只有 for…in

# ===== if/elif/else =====# 注意:没有 elseif,是 elifprice = 299if price >= 500:    discount = 0.7elif price >= 200:    discount = 0.85else:    discount = 0.95# ===== for 循环(只有 for...in 形式)=====# 遍历列表for product in products:    print(product)# 遍历字典for key, value in product.items():    print(f"{key}{value}")# 带索引遍历# 对标 PHP 的 foreach($arr as $i => $v)for i, product inenumerate(products):    print(f"第{i}个:{product}")# ===== try/except(对标 PHP 的 try/catch)=====try:    result = 10 / 0except ZeroDivisionError as e:    print(f"出错了:{e}")except Exception as e:    print(f"其他错误:{e}")finally:    print("无论如何都会执行")

2.4 函数:*args 和 **kwargs

# ===== 基本函数 =====def calculate_discount(price, discount=0.8):    # 这是文档字符串,类似 PHP 的 PHPDoc    """计算折扣价"""    return price * discount# 用默认折扣final_price = calculate_discount(299)# 关键字参数final_price = calculate_discount(    price=299, discount=0.7)# ===== *args 和 **kwargs(可变参数)=====def print_products(*names, **details):    # *names 接收任意数量的位置参数 → tuple    # **details 接收任意数量的关键字参数 → dict    for name in names:        print(f"产品:{name}")    for key, value in details.items():        print(f"{key}{value}")print_products(    "假发A""假发B",    brand="瑞贝卡", year=2026)# ===== Lambda 匿名函数 =====# 对标 PHP 的箭头函数 fn() =>double = lambda x: x * 2# PHP: $double = fn($x) => $x * 2;

🎉 语法速通完成! 你已经掌握了 Python 最核心的语法结构。作为 PHP 老手,这些对你来说应该很亲切。接下来我们进入重头戏——PHP 程序员最容易踩的坑,这些坑我可是一个不落地踩过了。

三、PHP → Python 转型避坑指南(重点)

你有多年 PHP 经验,语法不是难点,关键是哪些习惯要改、哪些直觉会骗你

🔴 坑 1:赋值是引用,不是拷贝

这是 PHP 开发者最容易踩的坑。PHP 数组赋值默认拷贝,Python 列表/字典赋值是引用。

# PHP 直觉:# $a = [1, 2, 3];# $b = $a;# $b[] = 4;# $a 还是 [1, 2, 3],互不影响# Python 实际:a = [123]b = a# b 和 a 指向同一个对象!b.append(4)print(a)# [1, 2, 3, 4] ← a 也被改了!# 要拷贝得显式操作:b = a.copy()# 浅拷贝(最常用)b = a[:]# 切片也是浅拷贝import copyb = copy.deepcopy(a)# 深拷贝(嵌套对象时用)

函数传参也是引用

def add_product(products, name):# 会修改原始列表!不是拷贝    products.append(name)items = ["假发A"]add_product(items, "假发B")print(items)# ["假发A", "假发B"] ← 被函数改了

记住:数字、字符串、元组是"值类型"(不可变),列表/字典/集合是"引用类型"(可变)。

🔴 坑 2:字符串"0"的真假值不同

# PHP: "0" 是 falsy# if ("0") { echo "yes"; }# else { echo "no"; }# → 输出 "no"# Python: "0" 是 truthy!if "0":    # 会执行!非空字符串都是 True    print("yes")# Python 的 falsy 值:# None, 0, 0.0, "", [], {}, set(), False# 注意:"0" 不在 falsy 列表里!

如果你从 PHP 搬逻辑过来,涉及 "0" 的判断要特别检查。

🔴 坑 3:缩进就是语法

# PHP 你习惯这样写,缩进无所谓# if ($x > 0) {# $y = 1;# 能跑# }# Python 缩进错了就报错或逻辑错误if x > 0:    y = 1# ← 这才对# 用 4 个空格缩进(VS Code 默认)# 别用 Tab,混用空格和 Tab 会报错

🟡 要适应的差异

字符串不可变:

# PHP:# $s = "hello";# $s[0] = "H";# // $s 变成 "Hello"# Python:s = "hello"s[0] = "H"# TypeError! 字符串不能修改# 得创建新字符串:s = "H" + s[1:]# 结果: "Hello"

None 的安全获取:

d = {"name""假发A"}# 直接访问不存在的 key → 崩d["price"]# KeyError!# 安全获取# 对标 PHP 的 $d["price"] ?? 0d.get("price"0)# 不存在返回 0,不崩

变量未定义直接崩:

# PHP:未定义变量自动变 null# echo $undefined_var;# → 输出空,能跑# Python:未定义直接报错print(undefined_var)# NameError!

Python 对"不存在"的态度是立刻崩溃,不会静默通过。这是好事。

四、Python 独有的优势

🌟 能够阅读到这里,你已经超越了大部分人! 很多读者看到这里就放弃了,但你还在坚持。接下来让我们一起掌握 Python 中特有的列表推导式吧——优雅永不过时~

列表推导式:从 PHP 老手视角彻底搞懂

列表推导式是 Python 最优雅的特性之一,PHP 没有对应语法。很多 PHP 程序员初次看到会觉得"这什么鬼",但一旦掌握就再也回不去了。

核心一句话:列表推导式就是把 for 循环压缩成一行。

语法拆解:固定格式,三个部分
# 固定格式,三个部分:[表达式 for 变量 in 可迭代对象]# 等价于下面的 for 循环:结果 = []for 变量 in 可迭代对象:    结果.append(表达式)
从 for 循环到推导式,一步步看
prices = [100200350500]# 第一步:普通 for 循环# PHP 老手最熟悉的方式discounted = []for p in prices:    discounted.append(p * 0.8)# 第二步:压缩成推导式discounted = [p * 0.8 for p in prices]# 结果: [80.0, 160.0, 280.0, 400.0]

对照关系:

  • p * 0.8 → 原来的 append() 里的表达式
  • for p in prices → 原来的 for 循环头
  •  外面的 [] → 告诉你结果是列表
加条件(if):过滤 vs 变换

这是最容易搞混的地方,记住一个原则:if 的位置决定它是过滤还是变换。

# 过滤:只保留价格大于 200 的expensive = [p for p in prices if p > 200]# 结果: [350, 500]# 变换:大于 200 打 8 折,否则原价result = [    p * 0.8 if p > 200 else p    for p in prices]# 结果: [100, 200, 280.0, 400.0]

顺序对比:

# if 在 for 后面 → 过滤(去掉不想要的)[p for p in prices if p > 200]# [350, 500]# if-else 在 for 前面 → 变换(保留所有,但改值)[p * 0.8 if p > 200 else p for p in prices]# [100, 200, 280.0, 400.0]
实用速记公式
# 1. 映射(对每个元素做变换)[表达式 for x in 列表]# 2. 过滤(只保留满足条件的)[x for x in 列表 if 条件]# 3. 映射 + 过滤[表达式 for x in 列表 if 条件]# 4. 条件变换(满足条件用 X,否则用 Y)[X if 条件 else Y for x in 列表]
PHP 对比
products = [    {"name""假发A""price"299},    {"name""假发B""price"459},    {"name""假发C""price"159},]# PHP 写法:# $names = array_map(#     fn($p) => $p["name"], $products# );# $expensive = array_filter(#     $products, fn($p) => $p["price"] > 300# );# Python —— 更直观:names = [p["name"for p in products]expensive = [    p for p in products if p["price"] > 300]# 组合:筛选 + 转换一步到位names_of_expensive = [    p["name"for p in products    if p["price"] > 300]# ["假发B"]
学习技巧:写不出来就先写 for 循环

如果你不确定推导式怎么写,先写完整的 for 循环,再压缩

# 第一步:先写完整的 for 循环result = []for p in products:    if p["price"] > 300:        result.append(p["name"].upper())# 第二步:对照模板塞进去# 模板:[表达式 for x in 列表 if 条件]result = [    p["name"].upper()    for p in products    if p["price"] > 300]

先写出来再说,不用逼自己一步到位。写多了自然就记住了。

更多实战例子
# 提取字典列表中的某个字段products = [    {"name""假发A""price"299},    {"name""假发B""price"459},]names = [p["name"for p in products]# 结果: ["假发A", "假发B"]# 生成序号列表numbers = [i * 10 for i in range(16)]# 结果: [10, 20, 30, 40, 50]# 字符串处理words = ["hello""world""python"]upper_words = [w.upper() for w in words]# 结果: ["HELLO", "WORLD", "PYTHON"]# 嵌套推导式(生成二维列表)matrix = [    [i * j for j in range(14)]    for i in range(14)]# 结果: [[1,2,3], [2,4,6], [3,6,9]]

💡 列表推导式其实不难,对吧? 记住那个公式,多写几次就变成肌肉记忆了。以后你会发现,Python 里这种"语法糖"到处都是,用习惯了就再也回不去。

with 语句:自动管理资源

# PHP:# $f = fopen("test.txt", "r");# $content = fread($f, filesize("test.txt"));# fclose($f);  // 忘了关就泄漏# Python:with open("test.txt""r"as f:    content = f.read()# 出了 with 块自动关闭文件# 数据库连接、网络连接同理

🏆 恭喜!今天最核心的内容已经全部讲完。 你已经掌握了 Python 的基础语法、避坑指南和独有的优雅特性。接下来是速查表,可以收藏起来随时查阅。

五、速查对照表

功能
PHP
Python
输出
echo, printprint()
变量声明
$name = "x"name = "x"
字符串拼接
$a . $bf"{a}{b}"
 或 a + b
数组/列表
[1, 2, 3][1, 2, 3]
关联数组/字典
["k" => "v"]{"k": "v"}
数组长度
count($arr)len(arr)
字符串截取
substr($s, 0, 3)s[0:3]
字符串分割
explode(",", $s)s.split(",")
查找元素
in_array($x, $arr)x in arr
JSON 编码
json_encode($data)json.dumps(data)
JSON 解码
json_decode($s, true)json.loads(s)
HTTP 请求
curl_init()requests.get(url)
类构造函数
__construct()__init__()
类属性引用
$this->nameself.name

🎯 终点已经遥遥在望了! 最后做个自检,确认今天的内容都掌握了,就可以安心收工。

六、Day 1 自检清单

完成以下项目,说明 Day 1 过关了:

  •  [ ] Python 和 VS Code 安装完成
  •  [ ] 能创建 .py 文件并运行
  •  [ ] 理解 list、dict、tuple、set 四种数据结构
  •  [ ] 能写出列表推导式(筛选 + 转换)
  •  [ ] 理解 with open() 的文件读写方式
  •  [ ] 知道赋值是引用,需要拷贝要用 .copy()
  •  [ ] 能不看对照表写出 Python 版的 for 循环和 if 判断

如果都打勾了 → 明天开始 Day 2:HTTP + API 调用


🎊 Day 1 完成!

恭喜你完成了 Day 1 的学习! 作为 PHP 老手,你已经成功跨过了 Python 的第一道门槛。

回顾一下今天你掌握了什么:

  •  ✅ Python 环境搭建
  •  ✅ 基础语法(变量、数据结构、控制流、函数)
  •  ✅ 3 个高频避坑点(引用拷贝、"0"真假值、缩进语法)
  •  ✅ Python 独有的优雅特性(列表推导式、with 语句)

这些都是你以后写 Python 的基石。 明天我们学 Python 的网络请求,你会发现 requests 库比 PHP 的 curl 简单 10 倍,写起来特别爽。


明天见

Day 1 就到这里。明天我们学 Python 的网络请求,你会发现 Python 的 requests 库比 PHP 的 curl 简单 10 倍。

如果你也是 PHP 转 Python,欢迎在评论区聊聊你的转型经历。有问题也可以留言,我看到都会回复。

系列文章:

  •  Day 1:语法速通 + 转型避坑(本文)
  •  Day 2:HTTP 请求 + JSON + API 调用
  •  Day 3:大模型 API 接入(OpenAI/文心一言/通义千问)
  •  Day 4:FastAPI 搭建 API 服务
  •  Day 5:综合实战——ComfyUI 自动化工具集

作者是 10 年 PHP 开发者,正在转型 Python + AI 方向。本系列是个人学习笔记,如有错误欢迎指正。


最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 23:09:01 HTTP/2.0 GET : https://f.mffb.com.cn/a/505117.html
  2. 运行时间 : 0.229937s [ 吞吐率:4.35req/s ] 内存消耗:4,721.04kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=0db6bff6caa6a9841097ade8ee4e0f50
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001006s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001573s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.008880s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.006358s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001207s ]
  6. SELECT * FROM `set` [ RunTime:0.001185s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001143s ]
  8. SELECT * FROM `article` WHERE `id` = 505117 LIMIT 1 [ RunTime:0.020741s ]
  9. UPDATE `article` SET `lasttime` = 1787324941 WHERE `id` = 505117 [ RunTime:0.012076s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.004055s ]
  11. SELECT * FROM `article` WHERE `id` < 505117 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001316s ]
  12. SELECT * FROM `article` WHERE `id` > 505117 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003861s ]
  13. SELECT * FROM `article` WHERE `id` < 505117 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002858s ]
  14. SELECT * FROM `article` WHERE `id` < 505117 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.003629s ]
  15. SELECT * FROM `article` WHERE `id` < 505117 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002150s ]
0.233368s