nop*_*ole 7 php template-engine templating smarty
我发现使用Smarty和PHP,有时需要额外的时间
1)使用与PHP本身完全不同的语法
2)需要检查小案例,因为文档没有给出更精细的细节,例如"escape"
http://www.smarty.net/manual/en/language.modifier.escape.php
它没有说转义:"引号"仅用于双引号或单引号,因此您需要编写代码来测试它.同样对于逃避的情况:"javascript" - 无法确切地告诉它是什么以及如何被转义.
3)对于复杂的东西,需要编写辅助函数或修饰符,因此需要创建新文件并最终再次在PHP中执行.
顺便说一句,使用Smarty是否提供了单独使用PHP的良好速度?谢谢.
Noa*_*ich 22
首先,PHP是一种模板语言.当您谈到为基于PHP的Web应用程序使用模板系统时,请记住这一点.
我曾经听过使用任何模板引擎的唯一"真实"论点是,它们为模板操作提供了一种更简单的语言,如果你有不熟悉PHP的模板设计师和你不信任的模板设计人员,这可以很方便学会谨慎使用PHP.
关于这些论点,我认为如果你的模板设计师没有能力学习足够的PHP来进行模板设计,你应该考虑寻找新的模板设计师.此外,PHP本身为控件语句提供了不同的语法,您可以在模板中使用这些语法,而不是在代码中使用.例如:
<? foreach($array as $key => $val): ?>
<?= $val ?>
<? endforeach; ?>
Run Code Online (Sandbox Code Playgroud)
VS:
<?php
foreach($array as $key => $val) {
echo $val;
}
?>
Run Code Online (Sandbox Code Playgroud)
就个人而言,我认为模板引擎出现在PHP中,因为:
第一个原因是有点傻.第二个原因可以通过一点点自我控制来克服,甚至可以通过对应用程序中分离层的必要性的基本理解来克服.MVC设计模式是解决此问题的一种方式.至于执行一些自我控制,我的规则是只使用必要的循环和if语句以及过滤,转义,格式化屏幕输出的函数.
在广泛使用Smarty之后,我可以诚实地说,它总是让我有更多的障碍来克服困难而不是解决方案.如果有的话,切换到基于PHP的模板实际上减少了模板和代码的开发时间.
我不喜欢模板引擎.我发现它们对PHP来说非常有损且资源密集.
使用MediaWiki,在1.6.x版本左右,我们默认使用Smarty,只使用PHP的内置模板,性能得到很大改善.
我发现大多数人想用模板系统做的事情(添加链接,更改颜色,删除文本或页面的部分)都可以通过一个简单的事件挂钩系统来完成.
Laconica是一个开放的微博平台,默认情况下没有任何模板.我们为那些为模板而疯狂的人提供插件.
归档时间: |
|
查看次数: |
9445 次 |
最近记录: |