当前位置:首页>python>Python:更强的建模语言

Python:更强的建模语言

  • 2026-08-21 15:06:10
Python:更强的建模语言

形式化建模语言

在传统信息工程中,工程师使用各种领域专用语言(DSL)精确地描述信息模型,其中以 XML 为基础的各类描述语言最为广泛。

XML 是一种形式化标记语言,但它只完成了语法层面的形式化。具体语义由各应用场合以特定方式自行表达,由此衍生出众多 DSL——真可谓"一种语言,各自表达"。相比早期 Word 文档等私有二进制格式,XML 增加了模型语言的标准化和人类可读性,但它仍是一种以机器为中心的形式化语言,对人类的语义理解并不友好。大概没有多少人有耐心看懂 Word 导出的 XML 格式文档,它依然如天书一般。

XML 语言的优点在于结构化数据的标准化交换。不同的软件能够共享数据,它是语言无关的,不依赖某一种编程语言。为了编写、传输和解析的效率,它被设计得尽可能简洁。

作为一种结构化信息的文本格式,XML 是足够的。事实上,XML 最初就是为描述出版物格式而设计的,后来才延伸到网页等更广泛的应用场景。但作为一种计算机信息模型的描述语言,它是远远不够的。描述计算机信息模型的主要方法是面向对象程序设计语言——类、实例、属性、方法构成了信息模型的基本要素,实例化、继承、派生等能力实现了由简至繁地构建模型,方法则提供了描述模块行为的手段。当代程序设计语言大多具备面向对象的能力(如 C++、Python、C#、Java 等)。因此,在程序设计中使用面向对象语言描述信息模型,当需要与外部交换信息时,再定义一种 XML/JSON 文档格式将内部 OOP 的数据表达出来。不同的表达方式形成了不同的行业专用语言(DSL),在工业自动化领域,比较知名的 DSL 包括 SysML、AML、OPC UA 等。在系统工程领域,有一部分工作就是不同 DSL 之间的转换。

面向对象的建模语言

进入 AI 编程时代,我们期望 AI 大模型能够参与信息模型的生成、验证和代码生成。LLM 的训练数据里,代码(尤其是 Python)的量远大于任何单一数据格式(那些基于 XML 的 DSL)。LLM 的预训练语料中,Python 代码占了相当大比例——LLaMA 的训练数据中代码约占 4.5%,PaLM 中约 5%,而代码里 Python 又是最常见的语言之一。这意味着模型在"读"和"写" Python 时,见过的样本数量远超任何特定的数据序列化格式。模型最擅长生成的,就是训练集中出现最多的格式。Python 和 JSON 都在训练数据里大量出现,但 Python 携带了更丰富的语义信息(类型、约束、逻辑),而 JSON 只是数据而已。实验表明,当任务涉及推理(比如计数、求和、过滤)时,生成代码比直接看 JSON 的准确率高 3% 到 50%。

孔子曰,“己欲立而立人,己欲达而达人”。在 AI 时代,这句话可以转述为"己欲立而立 AI,己欲达而达 AI"——人类容易理解的内容,同样适合 AI 的理解。使用 Python 编写信息模型,更得 AI 的青睐。

除了 LLM 更熟悉程序设计语言(Python)之外,使用程序设计语言作为模型描述语言还有以下几方面的优势:

自动生成模型的能力

首先,我们可以在信息模型中增加动态生成模型的方法,例如根据输出功率的不同确定正常电流的范围、选择不同的减速机等等。

XML 和 JSON 是静态的形式化语言,描述的是固定的信息模块:两个模型只要有一个属性不同,就是不同的描述文件,每一次参数变化都意味着一份新的文件。

Python 则天生是一种生成式语言——它可以根据需求动态地生成不同的信息模型,某些属性可以基于其他属性的取值动态计算和派生。生成式描述语言将模型从一份静态文档变为一套可执行的逻辑,输入参数即可产出对应的实例。这不仅是效率的差异,更是范式的转变。生成式描述语言能够实现:

• 参数化生成信息模型:同一套逻辑,不同参数,产出不同实例。
• 通过数学、物理和工艺算法动态生成模型属性:比如根据功率选择电缆类型,根据力矩要求选择电机和减速机的功率与型号。
• 通过 Python 模块和对象派生实现模块化建模:复用、组合、扩展,天然支持。

例如,可以使用程序设计语言直接操作模型,生成验证程序和实例化生成程序。在一个图案上摆放几百个 LED,就可以由 AI 编写一段程序,根据图案的轮廓自动摆放灯珠。

基于 Python 的信息模型中不仅仅是静态模型,还包括了生成、论证、格式转换等额外的方法。利用这些方法,AI 能够更准确、更高效地动态生成信息模型。例如,根据一个设备清单,生成车间里所有设备的管理壳模型。在生成物理模型时,某些属性的设定也可以通过数学、物理和工艺计算之后生成。使用 Python 构建信息模型带来了强大的建模能力和意想不到的效果。

阅读代码的推理能力强于阅读 XML/JSON

Python 原生的模块化和面向对象能力,使构建面向对象的模型更易于阅读和推理。

以 OPC UA 信息模型为例:它使用 XML 语言描述基于图模型(Node-Relationship)的信息模型,在图模型之上再构建对象、变量、方法等语义层。如此复杂的三层架构带来了灵活的模型描述能力,但无论是人类还是 AI,理解和操作的难度都很大。用 Python 描述同样的模型,面向对象的结构天然映射语义层级,可读性和可推理性显著提升。

生成基于模型的应用程序

传统的做法是编写一个运行时程序,对 XML/JSON 的模型进行解析,然后转变为内部的数据格式或执行流程。由于要兼顾所有的应用场景,信息模型的描述语言、生成和解析都变得异常复杂。而使用程序设计语言直接描述信息模型,AI 能够直接生成程序来操作模型。比如,在调试 OPC UA 应用程序时,我们通常使用 UA Expert 软件,配置和操作都很复杂。但现在,我直接让 AI 生成一个专用的 Python OPC UA 客户端程序,短短几行代码即可完成。

实验也表明,LLM 直接输出代码比输出 XML/JSON 数据时的推理能力更强。强制 LLM 输出 JSON 时,模型的推理能力会下降约 10–15%。

同样是处理结构化数据,让 LLM"写代码去处理"比"直接用脑子算"更靠谱。这不是因为代码执行有多快,而是因为生成代码的过程本身就是一种结构化推理——模型被迫把模糊的"感觉"变成精确的、可执行的步骤。

OOP 语言建模减少了大模型的幻觉

人难之事,AI 亦难。千万不要高估 AI 大模型的能力——它与人类一样,你在理解过程中容易犯错的地方,恰恰也是 AI 容易出错的地方。不要幻想丢给它一些数据表(DataSheet)、产品手册、网站地址或 GitHub 代码,通过三言两语的自然语言就能生成一个直接上线运行的软件。这通常会令人失望,因为你提供给 AI 的信息大多数是非结构化的。

而严谨地描述事物的语言就是计算机程序设计语言。人类发明程序设计语言的初衷就是准确无误地描述数据和算法,其基础是逻辑学。

像 Python 这样的 OOP 语言具有很强的结构化数据和算法的描述能力。类定义、派生、实例、数据类型、模块化应用都是为了准确地描述数据结构和算法。因此,用 OOP 语言描述信息模型不仅效率高,而且更准确,没有二义性。

建模的重要性

再举一个嵌入式程序设计的研究实例。

在前面的文章中我们已经指出,嵌入式程序设计要比纯软件开发难许多。因为嵌入式系统要与底层硬件打交道,现代嵌入式处理器芯片非常复杂,加上各种引脚复用、寄存器访问和中断处理,这些内容需要有硬件背景的程序员才能胜任。

有人希望将这些令人头痛的工作交给 AI,让 AI 直接阅读元器件手册,直接编写嵌入式应用程序。我并不主张这种编码方式。元器件手册中的信息是非结构化的,AI 和人一样,容易产生理解错误和遗漏。

ST 公司为 STM32 系列芯片提供了 STM32CubeMX 设计工具,但它不是一个基于模型的设计工具,而且只能通过软件图形界面操作。特别是时钟配置,一不小心就会搞错。这种软件显然不适合 AI 使用。

正确的方式应该是根据具体项目的要求,构建一个硬件平台信息模型,在信息模型的基础上进行软件的开发和迭代。而硬件平台信息模型应该由人类工程师借助 AI 工具来构建——也许由硬件工程师来构建硬件信息模型更为合适。

许多场合下,并不需要更强大的 AI 大模型,也不需要更聪明的智能体,只要将数据、信息整理成模型,就能产生神奇的功效。

OOP 语言建模的缺陷

使用OOP 语言建模也是有缺陷和使用边界的:

XML/JSON 只是模型的静态描述文本,不包含动态的代码。一旦包含了代码就可能存在安全的隐患。既怕他不够灵活,又怕他太灵活而出去闯祸。

OOP 语言描述的模型与程序设计语言有千丝万缕的关系,不是完整和独立的文档。所以不适合交流与传播

不中立,无法成为标准。

一切都不是万能的,关键要用对地方。可以在开发过程中使用OOP 语言描述信息模型,最终生成标准化的文档,例如XML 数据和代码。

同时也只有不断地尝试,才能寻找到AI 时代建模与编程的新范式。

实验:IEC 61499 建模

为了深入研究 Python 语言建模和 AI 代码生成的效果,我做了一个 IEC 61499 功能块建模的实验。

IEC 61499 是分布式控制和监督系统中的功能块标准,是一种分布式系统的建模方法,基本模块是基于事件触发的功能块。应用程序是由多个功能块构成的功能块网络(Function Block Network)。IEC 61499 标准中,功能块类型和功能块网络都是用 XML 语言描述的,能够将功能块转换为运行时中的模块,由运行时解释执行功能块网络。

在我们的实验中,基于 Python 的 class,手工编写了基础的信息模型,包括:

• 功能块
• 连线
• 功能块网络

在功能块的类中,我增加了一些动态生成的工具方法:

• 生成 SVG 图标
• 导出 XML 文档
• 导出 JSON 文档
• 设置输入数据的值

第一步,为了给 AI 做出示范,我手工编写了几个功能块模型以及一个功能块网络,最后将这些交给了 Claude Code 来生成其他功能块模型和应用程序:

• 将 4diac 项目中的所有功能块类型库转换为 Python class 文档
• 通过自然语言生成功能块网络

这些方法原本都是组态软件中的菜单操作,现在揉合进了模型中,扩展了 AI 自主操作的能力。

实验结果表明,将开源 IEC 61499 IDE 中的所有功能块类型转换成 Python 类准确无误,能够绘制 SVG,并通过 __repr__() 方法让类的实例化对象能够“自我介绍",帮助 AI 理解。

第二步,我手工编写了一个功能块网络的示范程序,然后由 AI 编写了一些 IEC 61499 功能块网络(应用程序),获得了满意的效果。这比在 4diac 中拖拽放置方便太多。在 IDE 的图形界面上,构建哪怕一个简单的数字逻辑判断都会把人累坏;一旦需要替换一个功能块,就得重来。图形配置做点小应用还行,做工程实在令人疲惫,而且交流也麻烦,只能靠截图与粘贴。进入 AI 时代,文本反而更加高效。

下一步,我们会继续添加 IEC 61499 中的资源模型、功能块代码生成以及使用 YAML 描述的功能块,同时寻找更多利用 OOP 语言更好地描述信息模型的佐证。

结论

• AI 大模型理解 Python 语言的能力比理解基于 XML 的行业专用语言更强。
• AI 更擅长生成基于程序设计语言描述的模型。
• 使用程序设计语言构建信息模型减少了 AI 的幻觉。
• 程序设计语言能够参数化、动态地基于数学、物理和工艺算法生成模型。
• 构建信息模型是减少 AI 幻觉的有效方法。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 15:42:06 HTTP/2.0 GET : https://f.mffb.com.cn/a/504872.html
  2. 运行时间 : 0.206240s [ 吞吐率:4.85req/s ] 内存消耗:4,454.35kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=99235819576fc488016ecf8049f4c7dc
  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.000970s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001687s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000682s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000573s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001265s ]
  6. SELECT * FROM `set` [ RunTime:0.000508s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001353s ]
  8. SELECT * FROM `article` WHERE `id` = 504872 LIMIT 1 [ RunTime:0.001178s ]
  9. UPDATE `article` SET `lasttime` = 1787298126 WHERE `id` = 504872 [ RunTime:0.011638s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000748s ]
  11. SELECT * FROM `article` WHERE `id` < 504872 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001023s ]
  12. SELECT * FROM `article` WHERE `id` > 504872 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.008815s ]
  13. SELECT * FROM `article` WHERE `id` < 504872 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.008447s ]
  14. SELECT * FROM `article` WHERE `id` < 504872 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001822s ]
  15. SELECT * FROM `article` WHERE `id` < 504872 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002148s ]
0.209920s