为什么要将模板引擎与框架一起使用?

我最近发现了PHP框架Kohana(这真是太棒了),并且正在阅读一个关于将其与SmartyTwig等模板引擎结合使用的帖子。我的问题是为什么要打扰?当然,根据定义,MVC框架是一个模板引擎。甚至可以说,即使是“原始”PHP也是一个模板引擎。在Kohana等框架中已经存在的内容之上添加另一个抽象级别有什么可能的好处?

编辑 -我意识到MVC框架与模板引擎不是一回事,但V部分肯定做同样的工作吗?也许更好的措辞方式是;为什么要在 MVC 框架的 V 部分之上添加模板引擎?


答案 1

我有两个非常好的理由,我可以想到这样做...

  1. 创建在整个站点中以一致的格式重复的标记更容易,而且您可以稍后更新它而不会有很多抱怨。
  2. 如果这是一家真正的公司,那么确定内容的人不太可能真正熟悉HTML,更不用说PHP了。拥有一个简单的模板语言,使样式看起来正确,并在没有太多代码知识的情况下生成有效的标记,这真的很方便。

答案 2

首先,原始PHP不是一个模板引擎。

接下来,MVC 框架定义将框架拆分为模型、视图和控件。这并不意味着框架具有模板引擎,尽管视图可能与本机或外部模板引擎集成。因此,框架可能有也可能没有模板引擎。

第三,查看 != 模板。视图仅指数据的显示方式 - 通常不涉及模板,而模板引擎是指一段能够将数据很好地放入模板中的代码 - 当您可以在模板中修改它们时,可以大大减少修改所有文件的需要

最后,框架用户可能更喜欢使用更常见的模板引擎,如Smarty,而不是框架中的本机模板引擎。您无需在本机模板引擎中学习新标签。


推荐