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


Posted in PHP onOctober 09, 2006

模板能够改善网站的结构。本文阐述如何通过PHP 4的一个新功能和模板类,在由大量静态HTML页面构成的网站中巧妙地运用模板控制页面布局。

提纲:

===================================

分离功能和布局

避免页面元素重复

静态网站的模板框架

===================================

分离功能和布局

首先我们来看看应用模板的两个主要目的:

分离功能(PHP)和布局(HTML)

避免页面元素重复

第一个目的是谈论得最多的目的,它设想的情形是:一组程序员编写用于生成页面内容的PHP脚本,同时另一组设计人员设计HTML和图形以控制页面的最终外观。分离功能和布局的基本思想就是使得这两组人能够各自编写和使用独立的一组文件:程序员只需关心那些只包含PHP代码的文件,无需关心页面的外观;而页面设计人员可以用自己最熟悉的可视化编辑器设计页面布局,无需担心破坏任何嵌入到页面的PHP代码。

如果你曾经看过几个关于PHP模板的教程,那么你应该已经明白模板的工作机制。考虑一个简单的页面局部:页面的上方是页头,左边是导航条,其余部分是内容区域。这种网站可以拥有如下模板文件:

<!-- main.htm -->
<html>
<head><title>模板示例</title></head>
<body>
<table><tr><td>{HEADER}</td></tr>
<tr><td>{LEFTNAV}</td><td>{CONTENT}</td></tr>
</table>
</body></html>

<!-- header.htm -->
<img src="sitelogo.jpg">

<!-- leftnav.htm -->
<br><a href="foo">Foo</a>
<br><a href="bar">Bar</a>

可以看出页面如何由这些模板构造而成:main模板控制着整个页面的布局;header模板和leftnav模板控制着页面的公共元素。花括号“{}”里面的标识符是内容占位符。使用模板最主要的好处在于界面设计者能够按照自己的意愿编辑这些文件,比如设置字体、修改颜色和图形,或者完全地改变页面的布局。界面设计者可以用任何普通HTML编辑器或者可视化工具编辑这些页面,因为这些文件都只包含HTML代码,没有任何PHP代码。

PHP 相关文章推荐
用PHP连接MySQL代码的参数说明
Jun 07 PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
Sep 05 PHP
php 文件上传代码(限制jpg文件)
Jan 05 PHP
PHP插入排序实现代码
Apr 04 PHP
php实现mysql封装类示例
May 07 PHP
自己写的php中文截取函数mb_strlen和mb_substr
Feb 09 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
Mar 12 PHP
Symfony的安装和配置方法
Mar 17 PHP
php+mysql查询实现无限下级分类树输出示例
Oct 03 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
Oct 03 PHP
Laravel 添加多语言提示信息的方法
Sep 29 PHP
在Laravel 的 Blade 模版中实现定义变量
Oct 14 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
Php+SqlServer实现分页显示
Oct 09 #PHP
You might like
PHP实现手机归属地查询API接口实现代码
2012/08/27 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
你应该知道PHP浮点数知识
2015/05/13 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
FileUpload上传图片(图片不变形)
2010/08/05 Javascript
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
js 距离某一时间点时间是多少实现代码
2013/10/14 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
javascript中基本类型和引用类型的区别分析
2015/05/12 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
在vue中获取token,并将token写进header的方法
2018/09/26 Javascript
解决angularjs service中依赖注入$scope报错的问题
2018/10/02 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
[08:02]DOTA2牵红线 zhou神抱得美人归
2014/03/22 DOTA
windows下安装Python和pip终极图文教程
2017/03/05 Python
使用Python生成XML的方法实例
2017/03/21 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
2018/10/21 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
塔吉特百货公司官网:Target
2017/04/27 全球购物
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
应届生骨科医生求职信
2013/10/31 职场文书
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
优秀的计算机专业求职信范文
2013/12/27 职场文书
自我评价是什么
2014/01/04 职场文书
与美同行演讲稿
2014/09/13 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书