我目前正在讨论在PHP作为模板引擎与在PHP之上使用另一种模板引擎之间的选择。
您的选择是什么,为什么?
我的观点是,既然PHP本身就是一种模板引擎,那么为什么还要使用另一种模板引擎呢。
我目前正在讨论在PHP作为模板引擎与在PHP之上使用另一种模板引擎之间的选择。
您的选择是什么,为什么?
我的观点是,既然PHP本身就是一种模板引擎,那么为什么还要使用另一种模板引擎呢。
对于模板引擎:
对于纯PHP:
如果可能,我更喜欢使用 PHP 本身。大多数人不想通过制作自定义主题来入侵你的软件,因此很容易进行初步阅读并调查其安全性。话虽如此,我是一个“过渡”人员,既做模板设计又从事编程,甚至还涉及一些平面艺术;我的技能与严格的程序员和艺术/设计人员不同。
嗯,这只是我的个人观点,但模板引擎很烂。你必须首先了解模板引擎的实现方式,然后再学习如何使用它。这似乎只是浪费时间,因为单独使用PHP可以更好地完成它,并提供更多的灵活性。
PHP并不是一个模板引擎,而是一种可以用来编写模板或模板引擎的语言。模板引擎不仅仅是一种语言,还包括编程API,允许脚本定位、组织模板或将数据从脚本分配给它们。单纯的PHP并没有什么特殊的功能- 它只是一种语言。相反,您应该使用那些库,如Zend Framework中的Zend_View进行比较(基本上,它的工作方式与Smarty完全相同,只是它使用PHP编写模板)。您应该考虑使用PHP或其他模板语言。
说到模板语言本身,普通的循环和条件语句足以编写模板,但这个“足够”并不意味着它易于操作、舒适、高效或灵活。PHP对于模板设计师来说并没有提供任何特别的东西,但是许多“模板语言”(如Smarty)仅提供PHP的有限子集,因此我并不奇怪程序员选择PHP作为模板引擎。至少他们可以编写函数并使用OOP,这对于模板设计可能过于庞大(在我看来),但确实有效并真正有帮助。
关键是自定义模板语言并不受PHP缺点的限制,但其设计者通常无法看到这一点,声称“显示变量和循环就足够了”。模板语言可以更加有效的地方包括:
遵循这种方式的模板语言的示例包括上面提到的PHPTAL和Open Power Template 2。一些类似的想法也可以在TinyButStrong中找到,但不幸的是,这个模板引擎非常缓慢。
如果您有一个非程序员负责模板,使用模板引擎可能会很有帮助。在许多情况下,简化的模板语言比 PHP 本身更容易被非程序员掌握。
尽管如此, 当只有我(或我和其他开发人员)时,我发现自己不再使用模板。