Php 将Smarty与Zend集成有什么优势吗?

Php 将Smarty与Zend集成有什么优势吗?,php,zend-framework,smarty,Php,Zend Framework,Smarty,我非常熟悉Smarty,最近决定在实现中使用Zend框架 因为我知道Smarty的各种优势,所以我坚持让我的承包商将Smarty整合到我的项目中 但现在,我质疑我的假设 我应该将Smarty集成到Zend框架中吗?仅仅因为我熟悉Smarty语法 我也参与了编程。几年前,我们使用Smarty,说非开发人员或者至少非PHP开发人员更容易在HTML布局中集成他们想要的内容 问题是:他们不必学习PHP的基础知识,而必须学习Smarty——我应该补充一句,很多人学得并不好 现在,Smarty已经很老了,

我非常熟悉Smarty,最近决定在实现中使用Zend框架

因为我知道Smarty的各种优势,所以我坚持让我的承包商将Smarty整合到我的项目中

但现在,我质疑我的假设

我应该将Smarty集成到Zend框架中吗?仅仅因为我熟悉Smarty语法


我也参与了编程。几年前,我们使用Smarty,说非开发人员或者至少非PHP开发人员更容易在HTML布局中集成他们想要的内容

问题是:他们不必学习PHP的基础知识,而必须学习Smarty——我应该补充一句,很多人学得并不好

现在,Smarty已经很老了,没有得到很好的维护,什么都没有。。。Zend Framework希望人们在视图中使用PHP

在基于ZF的项目视图中使用Smarty意味着:

开发人员必须学习Smarty,而不仅仅是PHP+HTML 即使你知道Smarty,你是否足够了解它以正确使用它? 那你的同事呢,或者你将来要雇用的人呢? 与ZF集成的问题:即使您可以在模板中使用Smarty,是否可以使用全功率或ZF?插件、助手、部分等等? 在过去,我们中的许多人说使用smarty的另一个原因是,它有助于内容和表达的分离;但是,由于您已经在基于ZF的应用程序中使用MVC,smarty没有必要这样做:如果您遵循ZF的指导原则,即使不使用smarty,您也已经在分离这些指导原则

好吧,最后,我宁愿不使用Smarty:

它很旧,保养得不好 在基于ZF的MVC项目中,它并不是很有用 可能很难集成到您的项目中。
我认为这应该是两个独立的问题:

我应该使用模板引擎还是PHP作为模板引擎

模板引擎的一般用途是将视图层与其他层分离

Smarty实现了 MVC。但是Zend框架已经有了它 执行得很好。所以你不加 没什么新鲜事。有过滤器, 像Smarty一样的助手。如果你不 想要混合HTML和PHP吗 可以将V一分为二并使用标记 用于查看模板

下面是关于是否使用模板引擎的辩论:

如果我想使用PHP模板引擎,有没有比Smarty now更好的解决方案

是的,例如,它也可以很容易地集成到ZF中


剩下的就看你了。如果您习惯于使用Smarty,或者项目规范要求Smarty,例如,为了向后兼容,在ZF中使用Smarty完全没有问题。

我在以前的项目和现在的一些项目中使用过Smarty。我也尝试将它与zend集成。但正如帕斯卡·马丁爵士所说,zend已经很好地处理了视图层。虽然我能够将它与zend集成,但我有以下问题:

Zend_Form与smarty的集成成为一个问题。 视图助手和部分变得有点复杂。 智能学习曲线 资源STPL etc位置
此外,最后,我坚持使用zend默认视图,作为一名前端开发人员,我经常与smarty合作,发现额外的修改器和插件为我节省了很多时间:

Smarty也有自己的缓存,将Smarty标记缓存到本机PHP中。因此,缓存模板的额外处理没有问题


Smarty 3最近进行了更新并得到了改进

缓存之类的问题呢?你说smarty老了,保养得不好。我和老朋友没有任何问题。无论如何,PHP并不比smarty年轻。我确实对它是否得到良好维护存在问题。您有什么证据支持它没有得到很好的维护?Zend Framework提供了几个与缓存相关的类和特性;在我看来,缓存可能更像是整个应用程序的问题,而不仅仅是视图层的问题;;;PHP并不年轻,但发布的新版本经常会修复bug,例如PHP5.2.x;或者是去年发布的PHP5.3的新特性;;;smarty的新版本不多,我得说:几乎一年内没有2.x分支的版本是的,smarty 3有一些beta版;想知道这将如何结束吗^^