用PHP制作静态网站的模板框架(二)


Posted in PHP onOctober 09, 2006

PHP代码全部保存到单独的文件中,这个文件也就是由页面URL实际调用的文件。Web服务器通过PHP引擎解析该文件,然后把结果返回给浏览器。一般地,PHP代码总是动态地生成页面内容,比如查询数据库或者执行某种计算等。下面是一个例子:

<?php

// example.php
require('class.FastTemplate.php');
$tpl = new FastTemplate('.');
$tpl->define( array( 'main' => 'main.htm',
'header' => 'header.htm',
'leftnav' => 'leftnav.htm' ) );

// 此处的PHP代码设置$content使其包含合适的页面内容

$tpl->assign('CONTENT', $content);
$tpl->parse('HEADER', 'header');
$tpl->parse('LEFTNAV', 'leftnav');
$tpl->parse('MAIN', 'main');
$tpl->FastPrint('MAIN');

?>

这里我们使用的是流行的FastTemplate模板类,但其基本思路对于其他许多模板类来说都一样。首先你实例化一个类,告诉它到哪里去寻找模板文件以及哪一个模板文件与页面的哪部分对应;接下来是生成页面内容,把结果赋予内容的标识符;然后,依次解析各个模板文件,模板类将执行必要的替换操作;最后把解析结果输出到浏览器。

这个文件完全由PHP代码构成,不包含任何HTML代码,这是它最大的优点。现在,PHP程序员可以集中精力编写生成页面内容的代码,而不必为了如何生成HTML去正确地格式化最终页面而担心。

你可以使用这种方法和上面的文件构造出一个完整的网站。如果PHP代码是以URL中的查询字符串为基础生成页面内容,例如http://www.foo.com/example.php?article=099,你可以据此构造出一个完整的杂志网站。

很容易看出采用模板还有第二个好处。如上例所示,页面左边的导航条单独保存为一个文件,我们只需编辑这一个模板文件就可以改变网站所有页面左边的导航条。

PHP 相关文章推荐
从网上搜到的phpwind 0day的代码
Dec 07 PHP
PHP 地址栏信息的获取代码
Jan 07 PHP
php获取汉字首字母的函数
Nov 07 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
windows7下安装php的php-ssh2扩展教程
Jul 04 PHP
php通过baihui网API实现读取word文档并展示
Jun 22 PHP
PHP实现生成带背景的图形验证码功能
Oct 03 PHP
PHP编程 SSO详细介绍及简单实例
Jan 13 PHP
利用php生成验证码
Feb 23 PHP
Yii2使用表单上传文件的实例代码
Aug 03 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
Oct 17 PHP
thinkphp框架表单数组实现图片批量上传功能示例
Apr 04 PHP
用PHP制作静态网站的模板框架(一)
Oct 09 #PHP
php的header和asp中的redirect比较
Oct 09 #PHP
文件上传的实现
Oct 09 #PHP
简单易用的计数器(数据库)
Oct 09 #PHP
用Php实现链结人气统计
Oct 09 #PHP
也谈 PHP 和 MYSQL
Oct 09 #PHP
在WIN98下以apache模块方式安装php
Oct 09 #PHP
You might like
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
Drupal7 form表单二次开发要点与实例
2014/03/02 PHP
jQuery插件slides实现无缝轮播图特效
2015/04/17 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
微信小程序图表插件(wx-charts)实例代码
2017/01/17 Javascript
DOM事件探秘篇
2017/02/15 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
JS实现的Unicode编码转换操作示例
2017/04/28 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
2019/09/21 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
Python内置数据类型详解
2014/08/18 Python
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
基于python进行抽样分布描述及实践详解
2019/09/02 Python
python如何进入交互模式
2020/07/06 Python
美国高端婴童品牌:Hanna Andersson
2016/10/30 全球购物
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
高校毕业生自我鉴定
2013/10/27 职场文书
幼儿园中秋节活动方案2013
2014/01/29 职场文书
租赁协议书范本
2014/04/22 职场文书
个人四风问题原因分析及整改措施
2014/09/28 职场文书
政府四风问题整改措施
2014/10/04 职场文书
学校开学标语
2014/10/06 职场文书
基层党支部整改方案
2014/10/25 职场文书
2014年团支书工作总结
2014/11/14 职场文书
2014年底个人工作总结
2015/03/10 职场文书
民间借贷借条范本
2015/05/25 职场文书
南京大屠杀观后感
2015/06/02 职场文书
三好学生竞选稿范文
2019/08/21 职场文书
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python