【问题标题】:PHP functions vs includes for site template网站模板的 PHP 函数与包含
【发布时间】:2019-06-05 21:06:03
【问题描述】:

为页面使用模板的最佳、最简单和最快的方法是什么。现在我一直在使用一个函数来为每个页面创建我的模板。

$title = "Kick Me";
<?php pageHtmlHeadStart($title)>
    <!-- Were Javascript would go -->
<?php pageHtmlHeadEnd(); guiHeader(); ?>

    Content went here.

<?php guiFooter; ?>

我习惯使用包含...

<?php include('header.php'); ?>

    Content went here.

<?php include('footer.php') ?>

我也在考虑使用 PHP 对象来做同样的事情。它会像函数那样运行。我将创建一个 GUI 类,该类将包含模板包装器并包含一些脚本来显示我在不同页面上再次使用几次的内容(通过 echo)。

说这话时我可能会回答我自己的问题...我喜欢当前使用函数的方式。我只是不知道这是不是不好的编码习惯。

【问题讨论】:

    标签: php html templates


    【解决方案1】:

    在模板的上下文中,使用 include() 语句没有任何问题。它们使代码看起来很干净,并且可以轻松地在模板之间共享 html sn-ps。

    “模板标签”是否使用实例方法、静态方法或函数取决于您的框架或应用程序的架构。虽然通常 OOP 确实是一件好事,但将所有东西都变成对象并不会神奇地让您的代码变得更好。

    PHP 本身确实是一种很好的模板语言。没有必要为模板发明另一种“语言”——这也没有错,只要你缓存你解析的文件(就像 Smarty 一样)。

    您可能想查看SavantSmarty 模板引擎。我还建议你研究各种 PHP MVC 框架,看看那里是如何实现的:SymfonyKohana

    【讨论】:

    【解决方案2】:

    如果您需要模板,请使用模板语言。在我看来,使用 PHP 进行模板绝对不是一个好习惯。

    【讨论】:

    • Php 一个模板引擎。它旨在使在 HTML 中嵌入代码变得容易。使用另一层间接性只会让一切变得更加复杂。
    • 我想在我工作的地方提出这个建议,但我们目前确实有很多使用函数模板的专家。为什么模板语言更好?是否有任何模板语言允许迷你模板功能打印出常用的 UI 元素,如皮肤按钮、选项卡栏等……因为这是我所有同事一直在使用它的目的,我会遇到麻烦如果他们不能以这种方式节省时间,说服他们使用新的东西......
    • 可能有多个答案。每个人喜欢的都不一样。我的口味:没有模板引擎,正如 gnud 所说,PHP“是一个模板引擎”。如果您想将代码与 html 分开,您可以使用模板引擎,或者只需创建一个代码库,您自己将其分开。我的建议,看看 MVC 模式。
    • 您可以将 PHP 视为一个模板引擎,但随着网页设计复杂性的增加,最好将显示层移至另一个模板引擎。我不明白这会使事情变得复杂。相反,我会说它使事情变得更简单。例如,我可以在模板下查找 UI 问题(比如 smarty),从而将 UI 逻辑与 PHP 功能逻辑分开。有意见吗??
    猜你喜欢
    • 1970-01-01
    • 2013-06-10
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    • 2017-05-19
    • 1970-01-01
    • 2012-12-25
    • 2013-04-18
    相关资源
    最近更新 更多