我们可能对使用HTML描述一个网络文档结构,和用级联样式表单(CSS)描述其外观比较熟悉。这种将外观从内容分离出来的想法可以扩展到脚本编码中去。一般来说,如果将逻辑从内容中分离、内容从外观分离,那么网站将更易长期使用和维护。这就归结为PHP和HTML的分离。
对于只有行数不多的代码或脚本的简单项目,使用分离法是得不偿失的。但是当项目扩大的时候,就必须找到将逻辑和内容分离的方法。如果不这样分离,代码将越来越难维护。如果我们决定将某一新的设计应用于网站,要在原来的代码中嵌入许多代码,那么做这样的修改简直就是一场噩梦。
要分离逻辑和内容,有3种基本的方法,如下所示:
■用包含文件保存不同部分的内容。这种方法虽然过分单纯,但是如果网站主要是静态的,它很有效。在第5章“代码重用与函数编写”的TLA咨询公司例子中,我们已经解释了这种方法。
■用一个函数或者带有一组成员函数的类API将动态内容插入到静态网页模板中。在第6章“面向对象的PHP”中,我们已经介绍了这种方法。
■使用模板系统。模板系统可以用来解析静态模板,并通过正则表达式动态数据代替占位符标记。这样做的主要好处是,如果别人设计模板,例如图形设形师,他就根本不需要懂PHP代码。应该使提供的模板只需做最小的修改。
许多模板系统是可以从网站或其他地方获取的。最常用的可能是Smarty,可以从如下站点获得:http://smarty.php.net/。