【问题标题】:Including layout files - Best approach包括布局文件 - 最佳方法
【发布时间】:2026-02-22 02:45:01
【问题描述】:

在开发应用程序时,我包含 phtml 文件来构建界面并使逻辑远离设计。

我已经使用 3 种不同的方法来包含这些文件进行了一些测试,并得出了以下结果:

  1. include(FORMS_FOLDER."/campaign/create.phtml") - 加载时间:0,00011491775512695
  2. $render->form(FILE) - 加载时间:0,00013995170593262 -> 增加 21.78%
  3. Render::form(FILE) -> 加载时间:0,00019311904907227 -> 增加 68.04%

即使加载时间非常快,我应该坚持哪个选项?

【问题讨论】:

  • 逗号后面有三个零,我认为你很好。

标签: php layout include


【解决方案1】:

也许第一种方法最快,因为它是 PHP 中的原生函数。使用选项 2 和 3,OOP 风格会导致 PHP 思考片刻并将 $render->form() 方法转换为 include 语句。

如果您想保持富有表现力的 OOP 风格方法,我会选择选项 2 或 3。

【讨论】:

    【解决方案2】:

    第二个选项。检查一些“更重要”的框架是如何做到的,因为它们的方法是经过精心挑选的。

    例如,检查 Symfony2 是如何实现它的。注意render函数,这里是起始位置,你可以从这里开始跟踪其余部分

    https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php

    因为在短短 2 周内使用它,我就成为了绝对的 Symfony2 粉丝,你可以查看他们的 Form 组件。您可以单独使用它,而无需使用整个全栈框架。

    更新: 如果您可以选择导入第三方代码,您还可以查看http://twig.sensiolabs.org/,这是一个模板引擎:)

    更新 2:原生 PHP 方法是最快的,但并不总是最好的方法。如果您要构建的不仅仅是 1 文件 1 用途脚本,我建议使用 OOP 方法,这就是我投票支持选项 #2 的原因。请注意,OOP 应用程序较慢 比程序性应用程序要好,但它们允许更好 结构化和更容易维护。至于速度差异,您可以查看:Is object-oriented PHP slow?

    【讨论】: