何时使用 PHP 模板引擎 [已关闭]PHP 是一种模板语言。㯱

2022-08-30 17:30:34

我正在用php建立一个有很多页面的网站,我们是一个9人的团队。因此,我们只想探索一下,我们什么时候应该使用PHP模板引擎,什么时候不应该使用。所以我对使用PHP模板引擎的利弊很感兴趣,所以我可以决定是否在我的情况下使用它。


答案 1

PHP 是一种模板语言。

根据我迄今为止使用各种模板系统的经验,结论非常简单:不使用

相反,写PHP应该写!切勿在 .html 中除 和 / 之外执行任何操作。如果您基于像MVC这样的设计模式编写代码,这将变得更加明显:just和内部并解释前端,他们不应该弄乱内部和.echoforforeachechoforeach<?php?>

从那以后,它就为我工作了。对我来说,解释它们通常比解释永远不要搞砸php更难。

模板系统也会增加服务器的权重(有时只是一点点,有时你可能会感觉到它)。乍一看似乎过于优化,但我更喜欢让它尽可能简单。

注意:

例如,Smarty在.html文件中更难发现,因为我唯一知道的Smarty语法高亮显示器是NetBeans插件,而且它是相当测试版的。另一方面,PHP在任何像样的编辑器中都突出显示了它的语法。前端也更容易发现,不会弄乱。

缺点(用于使用模板系统)

  • 增加服务器负载(更轻或更重,没关系 - 你可以看到它)
  • 导致不良做法(逻辑包装在模板语言语法中)
  • 模板语言的语法没有语法突出显示 - 更难发现(对于编码器和前端)
  • 花时间学习它并将其教给前端
  • 更难向前端团队解释(我已经多次向前端教授基本的PHP - 而更多的人已经能够编写自己的“初学者级”PHP;我从来没有教前端Smarty,所以他们可以做一些不同的事情{$var} )
  • 让你避免真正的问题逻辑和呈现分离
  • 为您的项目增加额外的重量

优点(用于使用模板系统)

  • 极度无聊(可能是唯一有效的论点)

模板系统更换

  • 逻辑和表示分离(我建议MVC用于此任务以及它为其他开发领域提供的优点:更易于维护,抽象数据库等)
  • 强迫自己只在视图中写,迭代回显:并且应该完成99%的迭代需求;您还可以使用和echoforeachforwhiledo while

答案 2

对我来说,当决定是否应该使用单独的模板引擎或仅使用PHP进行模板化时,它总是归结为:

何时使用模板引擎

何时必须限制(沙盒)可在模板中运行的代码。


何时不使用模板引擎

所有其他时间。



推荐