用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 相关文章推荐
PHP+MYSQL的文章管理系统(一)
Oct 09 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
Jul 10 PHP
PHP的explode和implode的使用说明
Jul 17 PHP
PHP实现把数字ID转字母ID
Aug 12 PHP
显示程序执行时间php函数代码
Aug 29 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
Jan 13 PHP
护卫神php套件 php版本升级方法(php5.5.24)
May 10 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
May 13 PHP
Zend Framework入门教程之Zend_Config组件用法详解
Dec 09 PHP
PhpStorm本地断点调试的方法步骤
May 21 PHP
有关PHP 中 config.m4 的探索
Aug 26 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
一个简洁的多级别论坛
2006/10/09 PHP
PHP变量内存分配问题记录整理
2013/11/27 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
js下获取div中的数据的原理分析
2010/04/07 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
Jquery实现Div上下移动示例
2014/04/23 Javascript
DOM基础教程之使用DOM
2015/01/19 Javascript
不能不知道的10个angularjs英文学习网站
2016/03/23 Javascript
Web程序员必备的7个JavaScript函数
2016/06/14 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
2016/12/16 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
bootstrap table sum总数量统计实现方法
2017/10/29 Javascript
node.js中axios使用心得总结
2017/11/29 Javascript
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
vue中axios的二次封装实例讲解
2019/10/14 Javascript
Eclipse + Python 的安装与配置流程
2013/03/05 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
Python input函数使用实例解析
2019/11/22 Python
python中pathlib模块的基本用法与总结
2020/08/17 Python
收集的22款给力的HTML5和CSS3帮助工具
2012/09/14 HTML / CSS
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
几道PHP的面试题
2012/05/19 面试题
幼儿园保育员辞职信
2014/01/12 职场文书
《鞋匠的儿子》教学反思
2014/03/02 职场文书
集中整治工作方案
2014/05/01 职场文书
销售员岗位职责
2015/02/10 职场文书
2015年母亲节寄语
2015/03/23 职场文书
感恩老师主题班会
2015/08/12 职场文书
趣味运动会标语口号
2015/12/26 职场文书