在PHP框架中需要使用smarty模板吗?

10年前
在 java 开发中使用模板已经习以为常了,很多人讨厌 java web 开发栈中的 JSP,虽然 sun 公司推出了 JSF,但总感觉出来的不是时候,一直也没有怎么用过。在 java 网站开发教程中,SSH 中的两大框架 Struts 推荐使用 Velocity,而在 Spring 中则推荐使用 freemarker。甚至在前端语言 javascript 中都出现了各种各样的模板引擎。

在 PHP 的轻量级框架 CodeIgniter 中,明确写明:

注意:因为在视图文件中使用纯 PHP 要快一些,所以 CodeIgniter 不要求你一定要用这个类。然而,有一些开发者和对使用 PHP 有困难的设计师一同工作时,更愿意使用模板引擎。

模板是框架发展的新方向吗?使用 Smarty 呢,还是自己手写模板,或者用框架自带的。

我不少开发者认为:“就用 CI 的模板,我觉得 CI 这样的模版方式很爽”。

“模版自己写!”。

还有人觉得不应该使用模板,这些开发者主要是考虑到性能。

“最具性能的模板就是不要模板,直接 echo”。

但是,使用模板也不一定就达不到性能,“我是直接生成 html,大些的项目有必要生成一个”。

模板的坚持使用者们还给出了其它理由:

“这个改变不影响模板设计者,内容仍将准确的输出到模板。同样的,哪天美工吃多了想要完全重做界面,也不会影响到程序逻辑。这是 smarty 手册里面的原话。模板也有他的好处。代码逻辑和页面分明。”

也有人抱怨模板:用模板,感觉会写很多无用的代码。其实,只要是为了实现功能的代码,都有用。

最后,一首对联献给程序员们:

上联: 为系统而生,为框架而死,为 debug 奋斗一辈子 

下联: 吃符号的亏,上大小写的当,最后死在需求上! 

横批: 杯具程序员。