好了,你可能想知道为什么你要使用FastTemplates。 ·可以在几秒钟改变你的整个站点的外观 ·抽象程序设计,没有垃圾HTML代码 ·设计人员不需要关心全部的"模糊"代码 ·令人惊讶地快 ·更容易重用旧的模版(对普通的表单而说) FastTemplate源于一个有同样名称的Perl软件包(可以在CPAN上找到)。你可以下载PHP的版本从它的主页(本站下载地址为:http://www.phpe.net/downloads/1.shtml)。你只需要其中的一个类的文件(class.FastTemplate.php)。 让我首先解释一下在使用模板生成一个页面与简单地通过echo或print将页面输出之间有什么不同吧。 简单地使用echo/print的方法很适合编写短的脚本,但是不能帮助你更好的组织和定制。模板在另一方面给 了你创建多国语言站点的能力,只是通过改动一个参数。他们可以促使你更关心你要做的。 在开始编码之前不要害怕思考。它可能会花费一些时间,但是这些花费会随着项目的发展对你有所回报。 那么,如何应用FastTemplate呢?首先你需要先进行一个简单地调用: <?php$tpl=newFastTemplate("path");?> 传递给它一个路径,是所有你的模板文件存放的目录。它返回一个对象,你可以用它进行参 数赋值,生成页面等等。 FastTemplate是基于这样一种假设:一个很大的页面是由很多小的部分组成的。每一个部分有一个唯一 的名字。最小的部分是赋值给这样有着唯一名字的一段正常的文本字符串。这个可以通过 <?php $tpl->assign(NAME,"text"); ?> 来完成。现在,如果你的一个模板包含{NAME},FastTemplate就知道你 的意图了。 另外,FastTemplate需要知道你想如何调用你的模板。你需要通过传递一个相关数组(associative array)给<?php$tpl->define();?> 来给它一个提示。 以下为引用的内容: <?php $tpl->define(array(foo=>"foo.tpl", bar=>"bar.tpl")); ?> 这些赋值将分别给foo和bar以不同的文件(名为foo.tpl和bar.tpl)。 现在你想让FastTemplate替换在模板foo中的所有{MACROS}为相应的值。通过发出命令 以下为引用的内容: <?php $tpl->parse(PAGECONTENT,"foo"); ?> 来实现。这个命令将把模板"foo"的内容赋给PAGECONTENT。 当然,我们还没有做完,因为模板bar中为主要的页面定义,FastTemplate需要替换其中的 {PAGECONTENT}宏。我们也需要给PAGETITLE赋值,如下所做: 以下为引用的内容: <?php $tpl->assign(PAGETITLE,"FooBartest"); $tpl->parse(MAIN,"bar"); ?> 容易吧,不是吗?我们现在只需要把它输出:<?php $tpl->FastPrint(MAIN); ?> 下面三个文件显示了实际练习中的更多的细节描述。我不知道在现实生活了离了这个技术应如何生活-- 你的设计者会高兴,你的老板会微笑,因为你可以在更短的时间内做更多的事情。 以下为引用的内容: bar.tpl
Featureworld-{PAGETITLE} <BODYBGCOLOR=BLACKTEXT=WHITE>
{PAGETITLE} {PAGECONTENT}
|