| 域名空间 下载中心 社区论坛 信息公告 MY小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
PHP3 之 FastTemplatehttp://www.iyit.net 日期:2006-5-25 15:24:05 来源:本站整理转载 点击: |
有的,就是使用模板(FastTemplate:这个程序在本站的“程序和代码”中可以找到),这将会使你的工作更加轻松。 下面解释一下使用模板的好处: 1、在很短的时间内可以替换整个站点的外观 模板的来历:FastTemplate来自于同名的Perl软件包(在CPAN上可以找到)。 它被移植到了PHP3平台上。你只需要一个基础类文件class.FastTemplate.php3 先解释一下使用模板和使用echo或print命令建立html页面的区别,echo和 print在编写短小的脚本时显得非常实用,但是做出来的脚本的组织性和可定制性不好,修改起来颇废工夫,模板在编写支持多国语种的站点时的效率则要高的多,如用echo和print可以想象工作量之大。 不用担心,熟练使用FastTemplate会占去你一部分时间,但是这些时间会在你 以后的工作中弥补回来,尤其是大工程时。 那么,怎么使用FastTemplate呢? 第一步,只需使用函数<?php $tpl = new FastTemplate( "path"); ?>,其中path指向template目录所在的路径。这句函数建立了一个$tpl对象,以后可以对它指定参数,进行处理或用来建立各种页面等等。 FastTemplate是建立在这么一种理论基础之上的,即假定一个web页是由许多小的部分组成的。举例来说,如WEB页细分为TITLE、PAGE、FOOT等等。整个页被赋予一个变量名,每一个小部分又被赋予一个变量名,最小的不可分割的部分通常就是字符串了,它也被赋予一个变量名。具体处理的时候,是一层层的包含关系。被包含部分在上一层中以宏{NAME}的形式出现。最后经过一层层的向上输出,得到完整的页面。 那么最底层的向字符串赋值的函数是什么呢,就是: <?php $tpl->assign(NAME, "text"); ?> 通过这个功能,FastTemplate将字符串text赋予了变量NAME,以后上一层就可替换宏{NAME}的内容为text。 例如: $tpl->assign(NAME, "me"); 这就将变量NAME赋值了字符串"me"。 第二步,$tpl需要知道其所调用的所有模板文件,即各个小部分。这个功能由define一个数组实现: <?php $tpl->define(); ?> 例如: <?php $tpl->define(array(foo => "foo.tpl", bar => "bar.tpl")); ?> 这说明总共包括了两个模板文件:foo.tpl和bar.tpl,并给它们指定了名字foo和bar。 有了第一节的知识以后,你现在是否想试一试将模板文件中所包含的宏 <?php $tpl->parse(PAGECONTENT, "foo"); ?> 这条命令的具体意义是: 我们首先已经用assign定义了FOO模板中包含的若干宏变量,然后根据这些变量对模板文件FOO进行替换处理,并将替换后的模板文件赋予另一个变量名PAGECONTENT。 完整如下: <?php $tpl->assign(NAME, "me"); ?> 当然,我们还没有作完,因为bar模板文件才是WEB的主输出部分,BAR模板包含着FOO模板,BAR中还包含着宏变量{PAGETITLE}和{PAGECONTENT}等待处理,PAGECONTENT经过对FOO的处理已经得到,PAGETITLE还未指定,所以还要还要指定PAGETITLE,并调用函数 <?php $tpl->parse(MAIN, "bar"); ?> 进行处理,并将处理后的结果赋予变量MAIN。 如下: <?php $tpl->assign(PAGETITLE, "FooBar test"); ?> 很简单吧,最后我们只需输出页面即可: <?php $tpl->FastPrint(MAIN); ?> 下面就是foo.tpl,bar.tpl与最终的demo.php3文件。 ------------------------------------------------------------- <!-- foo.tpl --> ------------------------------------------------------------- <!-- bar.tpl --> ------------------------------------------------------------ <?php include "class.FastTemplate.php3"; $tpl = new FastTemplate( "."); $tpl->assign(NAME, "me"); $tpl->assign(PAGETITLE, "Welcome!"); $tpl->FastPrint(MAIN); ?> 编制一个表格的例子: 经过以上的阐述,大家是否已经明白一点了。 当我们当处理完foo模板后,并赋予了变量TPL1,我们可以将bar模板的内容处理后追加进TPL1中,这样就不必定义过多变量,也易于理解,例处理完页面的title后将content部分追加进去,最后将foot追加,生成完整一个页面再输出。这条命令就是: 如下: <?php # 处理模板foo,并赋予变量TPL1 # 处理模板bar,并追加进变量TPL1 ?> 下面是一个完整的表格例子,大家好好揣摸揣摸 page.tpl <HTML> table.tpl <TABLE> table_row.tpl <TR> yad.php3 <?php include "class.FastTemplate.php3"; function InitializeTemplates() { $tpl = new FastTemplate( "."); function ReadCurrentDirectory() { $handle = opendir( "."); function PrintPage($title) { $tpl->assign(PAGE_TITLE, $title); InitializeTemplates(); ?> 关于速度的最后一点讨论: 看完以上的例子,你会说“太棒了!漂亮,但是,速度怎么样呢?” 没问题,你的站点会变得很快。简单的说:因为你是一个程序员,你应该关注于程序代码的设计,代码应该更加有效率,应容易修改和容易理解。使用FastTemplate可以可以帮助你做到这一点,所以它使你的工作更加轻松一些。 如果你想替代一个已经建好的Web站点,我们建议使用regex(替换表达式)来替换,实际上FastTemplate使用的就是regex 来替换模板中的宏。 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:模板,PHPLIB处理方式 下一篇:php编写大型网站问题集 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 最新更新 | 热点排行 | 推荐新闻 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||