我发现使用Smarty和
PHP,有时需要额外的时间
1)使用与PHP本身完全不同的语法
2)需要检查小案例,因为文档没有给出更精细的细节,比如“逃避”
http://www.smarty.net/manual/en/language.modifier.escape.php
它没有说转义:“引号”仅用于双引号或单引号,因此您需要编写代码来测试它.同样对于逃避的情况:“javascript” – 无法确切地告诉它是什么以及如何被转义.
3)对于复杂的东西,需要编写辅助函数或修饰符,因此需要创建新文件并最终再次在PHP中执行.
顺便说一句,使用Smarty是否提供了单独使用PHP的良好速度?谢谢.
首先,PHP是一种模板语言.当您谈到为基于PHP的Web应用程序使用模板系统时,请记住这一点.
原文链接:https://www.f2er.com/php/136380.html我曾经听过使用任何模板引擎的唯一“真实”论点是,它们为模板操作提供了一种更简单的语言,如果你有不熟悉PHP的模板设计师和你不信任的模板设计人员,这可以很方便学会谨慎使用PHP.
关于这些论点,我认为如果你的模板设计师不能够学习足够的PHP来进行模板设计,你应该考虑寻找新的模板设计师.此外,PHP本身为控件语句提供了不同的语法,您可以在模板和代码中使用这些语法.例如:
<? foreach($array as $key => $val): ?> <?= $val ?> <? endforeach; ?>
VS:
<?PHP foreach($array as $key => $val) { echo $val; } ?>
就个人而言,我认为模板引擎出现在PHP中,因为:
>这就是其他语言的做法
>更好的PHP程序员意识到他们需要一种方法来强制表示和应用程序逻辑之间的分离,模板是一种简单的方法.
第一个原因是有点傻.第二个原因可以通过一点点自我控制来克服,甚至可以基本理解在应用程序中分离层的必要性. MVC设计模式是解决此问题的一种方式.至于执行一些自我控制,我的规则是只使用必要的循环和if语句以及过滤,转义,格式化屏幕输出的函数.
在广泛使用Smarty之后,我可以诚实地说,它总是让我有更多的障碍来克服困难而不是解决方案.如果有的话,切换到基于PHP的模板实际上减少了模板和代码的开发时间.