用 Smarty 分离 PHP 应用程序中的形式与功能

随意混用 PHP 与其他 Web 页面标记将导致程序逻辑、HTML、层叠样式表和
JavaScript 处于混乱状态,使维护成为一项艰巨的任务。Smarty
模板引擎可以将形式与功能分离。

PHP Web 应用程序易于上手。PHP 语言的语法整洁且易于掌握。可以将 PHP 与
HTML、JavaScript 和 CSS 直接混用以快速生成可视结果。而且,把 PHP
应用程序部署到您自己的 Web 服务器或托管服务中只是小菜一碟。

但是混用 PHP 与其他页面标记也是一项责任。PHP
代码通常是含有程序逻辑、结构化查询语言查询、函数、类、开发人员注释、HTML、CSS
样式和脚本的复杂 web。更糟糕的是,把内容从 PHP、echo
发送到输出缓冲区有很多种方法。维护这样混乱的页面十分费力。对代码或标记做出无关紧要的更改会带来严重破坏,并且增强页面可能需要设计人员与程序员的共同努力。使用
PHP,形式功能将被混在一起。

在理想情况下,形式与功能是相互独立的。例如,CSS 和 HTML
一定应该如此。CSS 是形式,而 HTML 是功能。在使用 PHP
的情况下,如果页面标记和代码能够分离将是十分理想的。代码将处理输入,制定决策并生成显示数据,而标记将期待获得数据并提供所需的支架以渲染信息。

例如,主页的标记可能留下一个 填空 (fill in the blank)
以供用户登录,以及其他占位符以供保存用户的图像和重要信息。此模板澳门新葡亰3522平台游戏,
这样命名是因为它将提供页面显示的模式
只面向设计人员,设计人员将控制页面的整体外观并留下名称、图片和其他数据的占位符。代码只是为占位符提供数据。开发人员的任务仍然主要集中在计算上。

当然,形式与功能必须协作。如果模板期望获得以美元为单位的金额,则代码不应当提供
URL。如果模板期望获得对象,则代码不应当提供列表。因此,模板系统必须将表单与函数分离,但还必须在两者之间建立联系。

最流行的 Web 应用程序编程语言都有模板引擎,而 PHP
也不例外。在搜索引擎中键入 PHP template engine,然后您可能会找到 25
个以上的选项。

一些 PHP 模板引擎进行了速度优化。其他 PHP
模板引擎旨在鼓励分离表单与函数的同时简化使用。在某些包中,占位符是在 PHP
本身中描述的,而其他解决方案都有一种自定义的简短编程语言。如何选择模板引擎在很大程度上取决于要求,因此适宜进行少量研究和试验。

在这里,我向您介绍 Smarty,它是最流行的 PHP 模板引擎之一。Smarty 代码
有它自己的语法和运算符扩展列表,但是系统并不难学。阅读或浏览 Smarty
文档,以便熟悉它的所有功能。从 Smarty
的小修改开始,根据需求扩展您的技能,然后越来越精通。

获得 Smarty

Smarty Web 站点维护着一张活动邮件列表、一个支持论坛和一个 Internet Relay
Chat (IRC) 论坛。开发正在进行,而本文基于 V2.6.18 版本,该版本发布于
2007 年 3 月 7 日。

Smarty 有两个方面:PHP 应用程序编程接口 (API)
和显示引擎。应用程序代码将调用 API
把代码变量与模板占位符关联起来,而显示引擎将解释 Smarty
标记、执行循环、引用占位符和显示最终结果。Smarty 功能包括:

<