PHP中使用模板引擎一
使用模板引擎可以使业务逻辑与显示逻辑分开——这是很欠扁但也是网上公认的说法,呃,说得很准确,但估计只有会使用模板的人才能理解……其实刚开始大可以简单的理解模板为“PHP与HTML代码分离的方法”
为什么要使用模板技术
让程序(PHP层)与显示(HTML层)分离可以使代码更清晰易懂,要修改程序问题就去PHP层找,要改显示问题就去HTML层改
更重要的是这样的设计可以让不懂PHP的前台美工也能修改页面
如果不是很理解没关系,你只要知道这是迈向其它高级开发模式的必经之路就可以了
有哪些模板技术
我使用过PHPLIB库中的模板类,后来又使用了smarty和smartyLight,也试过原生的PHP方式实现的模板,现在大家基本上都用smarty
PHP方式相对来说最容易实现,学得也快,但不适合团队合作
smarty广被攻击的“弱点”smarty的语法太复杂,学它简直就是学一门新语言——其实你不需要复杂的功能,它就简单得很,如果你需要它复杂的功能,那你应该感谢它
根据我的经验,刚开始用一个东西,大家都喜欢简洁精炼,但随着应用的复杂,大多会抱怨它功能不足……smarty有几百K,它太大了,慢
——其实大小与速度不成正比,smarty有编译缓存和静态缓存机制,甚至可以局部缓存另外它的自定义插件用起来非常爽,modify,block等,我这几天正用它的block来输出页面组件
下载,配置smarty因为我后来一直用smarty的简化版smartyLight,它们的语法大部分相同但也有不同,所以没办法把我现在的代码搬出来以免出错,好吧,为了写这篇,我去下载完整版smarty
18版的吧,最新的是2008的,不一定很稳定其它目录都删了,保留libs目录就可以了,如果为了学习可以保留demo目录
实战使用模板引擎后,PHP代码与模