我对Smarty非常熟悉,最近决定在实现中使用Zend框架。
因为我知道Smarty的各种优点,所以我坚持让我的承包商将Smarty整合进来。
但现在,我在质疑我的假设。
我应该将Smarty与Zend框架集成吗?仅仅因为我熟悉Smarty语法?
我也参与了编程。我让承包商帮助建筑和原型。
答案 0 :(得分:4)
几年前,我们正在使用Smarty,对于非开发人员(或者至少不是PHP开发人员)来说,更容易 在他们的HTML布局中整合他们想要的东西。
问题是:他们不必学习PHP的基础知识,而是必须学习Smarty - 如果我补充的话,很多人都不会那么好。
现在,Smarty已经很老了,没有很好的维护,也没有任何东西...... Zend Framework希望人们在他们的观点中使用PHP ......
在项目视图中使用Smarty,基于ZF,意味着:
我们许多人之所以说“使用smarty ”的另外一个原因,就是过去帮助分离内容和表达;但是,由于您已经在基于ZF的应用程序中使用MVC,因此无需聪明地执行此操作:如果您遵循ZF的指导原则,即使不使用Smarty,您也已经将它们分开了。
好吧,最后,我宁愿不使用Smarty:
答案 1 :(得分:1)
我想说这些应该是两个不同的问题:
我应该使用模板引擎还是PHP作为模板引擎?
模板引擎的一般用途是将视图层与其余视图层分开。
Smarty实现了V层 MVC。但Zend Framework已经拥有它 实施得很好。所以你不要添加 没什么新鲜的。有过滤器, 像Smarty一样的助手。如果你不这样做 想要混合HTML和PHP,你 可以将V分成两部分并使用标记 Texitle 用于视图模板。
以下是关于是否使用模板引擎的争论: http://fabien.potencier.org/article/34/templating-engines-in-php
如果我想使用PHP模板引擎,现在有没有比Smarty更好的解决方案?
是的,例如。 PHPTAL,也可轻松集成到ZF中。
其余的取决于你。如果您习惯使用Smarty,或者项目规范需要Smarty(例如,为了向后兼容),那么在ZF中使用它是没有问题的。
答案 2 :(得分:0)
我确实在我的旧项目和现在的一些项目中使用了smarty。我也尝试将它与zend集成。但正如先生pascal martin所说,zend已经很好地处理了视图层。虽然我能够将它与zend集成,但我遇到了以下问题:
另外,最后,我坚持使用zend默认视图
答案 3 :(得分:0)
作为一名前端开发人员,我经常与smarty合作,并发现额外的修饰符和插件为我节省了大量时间:
Varialbe Modifiers Built in PLugins
Smarty也有自己的缓存,可以将smarty标记缓存到本机PHP中。因此使用缓存模板进行额外处理没有问题。
Smarty 3最近已更新,并已得到改进。