用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 相关文章推荐
模拟OICQ的实现思路和核心程序(三)
Oct 09 PHP
php 抽象类的简单应用
Sep 06 PHP
php自定义hash函数实例
May 05 PHP
php基本函数汇总
Jul 09 PHP
PHP按指定键值对二维数组进行排序的方法
Dec 22 PHP
PHP保存session到memcache服务器的方法
Jan 19 PHP
Thinkphp和onethink实现微信支付插件
Apr 13 PHP
PHP模块化安装教程
Jun 01 PHP
php错误日志简单配置方法
Jul 11 PHP
详解提高使用Java反射的效率方法
Apr 29 PHP
laravel邮件发送的实现代码示例
Jan 31 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 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 注册时输入信息验证器的实现详解
2013/07/05 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
jQuery前台数据获取实现代码
2011/03/16 Javascript
mailto的使用技巧分享
2012/12/21 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
JS常用表单验证方法总结
2014/05/22 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
ReactJs实现树形结构的数据显示的组件的示例
2017/08/18 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
JS常见DOM节点操作示例【创建 ,插入,删除,复制,查找】
2018/05/14 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
Python Xml文件添加字节属性的方法
2018/03/31 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
python无序链表删除重复项的方法
2020/01/17 Python
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
美国肌肉和力量商店:Muscle & Strength
2019/06/22 全球购物
关于Assembly命名空间的三个面试题
2015/07/23 面试题
中间件分为哪几类
2016/09/18 面试题
大三在校生电子商务求职信
2013/10/29 职场文书
工程项目经理岗位职责
2013/12/15 职场文书
住宅质量保证书
2014/04/29 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
如何有效防止sql注入的方法
2021/05/25 SQL Server