PHP是一种HTML内嵌式的在服务器端执行的脚本语言,所以大部分PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程。
虽然通过MVC设计模式可以把程序应用逻辑与网页呈现逻辑强制性分离,但也只是将应用程序的输入、处理和输出分开,网页呈现逻辑(视图)还会有HTML代码和PHP程序强耦合在一起。(推荐学习:PHP编程从入门到精通)
PHP脚本的编写者必须既是网页设计者,又是PHP开发者。但实际情况是,多数Web开发人员要么是精通网页设计,能够设计出漂亮的网页外观,但是编写的PHP代码很糟糕;要么仅熟悉PHP编程,能够写出健壮的PHP代码,但是设计的网页外观很难看。具备两种才能的开发人员很少见。
现在已经有很多解决方案,可以将网站的页面设计和PHP应用程序几乎完全分离。这些解决方案称为"模板引擎",它们正在逐步消除由于缺乏层次分离而带来的难题。
模板引擎的目的,就是要达到上述提到的逻辑分离的功能。它能让程序开发者专注于资料的控制或是功能的达成;而网页设计师则可专注于网页排版,让网页看起来更具有专业感。因此,模化引擎很适合公司的Web开发团队使用,使每个人都能发挥其专长。
模板引擎技术的核心比较简单。只要将美工页面(不包含任何的PHP代码)指定为模板文件,并将这个模板文件中有活动的内容,如数据库输出、用户交互等部分,定义成使用特殊"定界符"包含的"变量",然后放在模板文件中相应的位置。
当用户浏览时,由PHP脚本程序打开该模板文件,并将模板文件中定义的变量进行替换。这样,模板中的特殊变量被替换为不同的动态内容时,就会输出需要的页面。
美工设计人员可以与应用程序开发人员独立工作,因为应用的表现和逻辑并非密不可分地纠缠在一起。此外,因为大多数模板引擎使用的表现逻辑一般比应用程序所使用编程语言的语法更简单,所以,美工设计人员不需要为完成其工作而在程序语言上花费太多精力。
可以使用同样的代码基于不同目标生成数据,例如生成打印的数据、生成Web页面或生成电子数据表等。如果不使用模板引擎,则需要针对每种输出目标复制并修改代码,这会带来非常严重的代码冗余,极大地降低了可管理性。
目前,可以在PHP中应用的并且比较成熟的模板有很多,例如Smarty、PHPLIB、IPB、xingTemplate等几十种。使用这些通过PHP编写的模板引擎,可以让你的代码脉络更加清晰,结构更加合理化。
也可以让网站的维护和更新变得更容易,创造一个更加良好的开发环境,让开发和设计工作更容易结合在一起。
但是,对于一个PHP程序员来说,没有哪一个PHP模板对他是最合适、最完美的。因为PHP模板就是大众化的东西,并不是针对某个人开发的。
如果能在对模板的特点、应用有清楚的认识基础上,充分认识到模板的优势劣势,就可以知道是否选择使用模板或选择使用哪个模板。
以上是php模板引擎是什么的详细内容。更多信息请关注PHP中文网其他相关文章!