我应该像Yii一样使用带有MVC的smarty模板引擎吗?

Haf*_*fiz 9 template-engine smarty yii

我过去使用过smarty,在x-cart,jobberbase和Joomla的jomestate组件以及其他一些Joomla组件中也是如此.我看到X-cart中的东西非常紧密,许多事情似乎比在jobberbase中应该更复杂,我觉得这是因为聪明.

现在我将在客户建议的项目中使用Yii.而Yii本身就是MVC框架.那么我应该使用smarty吗?我想知道我应该使用smarty,我的意思是在Yii中会有一些使用smarty的优点吗?或不?或者它只是一个开销还是会有一些使用smarty的缺点?我理解聪明.但我认为这有时会让事情变得更复杂.所以我想从你们这里知道,由于框架不好或者存在一些现实,这只是一个主导思想,所以我应该使用smarty还是还有其他更好的东西呢?

Oll*_*cks 11

作为一个曾经在Yii之前使用smarty的人我会说没有意义.

Smarty很棒,因为它阻止你在一个文件中混合逻辑和视图.MVC架构定义了控制器(包含逻辑)和视图应该是分开的.我建议您像在smarty模板中一样编写视图,但只使用php语法.如果您使用的是好的IDE(如netbeans),它也会自动缩进您的代码(请参阅netbeans中的代码格式).

也看看流程控制的替代语法

Yii创作者的可能意见

Yii本身源自Prado,这是Qiang Xue之前的项目.普拉多有一种诱人的语言和Yii(开箱即用)我不认为这意味着羌认为模板语言是不必要的.

Smarty Overhead

Smarty模板在每次更改时都会被PHP编译一次(如果启用了缓存),这意味着大部分开销只发生在第一个请求中,但是我假设在额外的函数调用中仍有一些开销来检查编译视图存在,这会影响每个请求.所以有一个聪明的开销,但它可能是微不足道的.