用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 相关文章推荐
MySQL GBK→UTF-8编码转换
May 24 PHP
实用函数4
Nov 08 PHP
第七章 php自定义函数实现代码
Dec 30 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
Nov 27 PHP
php curl_init函数用法
Jan 31 PHP
php ci框架中加载css和js文件失败的解决方法
Mar 03 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
Nov 22 PHP
PHP判断是否连接上网络的方法
Jul 01 PHP
PHP实现的迷你漂流瓶
Jul 29 PHP
谈谈 PHP7新增功能
Dec 16 PHP
PHP编程基本语法快速入门手册
Jan 07 PHP
通过PHP实现获取访问用户IP
May 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
Php+SqlServer实现分页显示
Oct 09 #PHP
You might like
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
16个最流行的JavaScript框架[推荐]
2011/05/29 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
2013/04/23 Javascript
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
js在指定位置增加节点函数insertBefore()用法实例
2015/01/12 Javascript
JavaScript实现获得所有兄弟节点的方法
2015/07/23 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
Bootstrap中CSS的使用方法
2016/02/17 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
JS实现Cookie读、写、删除操作工具类示例
2018/08/28 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
JavaScript实现轮播图效果
2020/10/30 Javascript
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
python中的代码编码格式转换问题
2015/06/10 Python
Python插件virtualenv搭建虚拟环境
2017/11/20 Python
Python中join函数简单代码示例
2018/01/09 Python
Python统计单词出现的次数
2018/04/04 Python
python Tkinter的图片刷新实例
2019/06/14 Python
django 类视图的使用方法详解
2019/07/24 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
完美解决keras 读取多个hdf5文件进行训练的问题
2020/07/01 Python
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
工作会议欢迎词
2014/01/16 职场文书
上级检查欢迎词
2014/01/18 职场文书
2014年迎新年联欢会活动策划方案
2014/02/26 职场文书
党建工作先进材料
2014/05/02 职场文书
个人自荐材料
2014/05/23 职场文书
党员干部形式主义个人整改措施
2014/09/17 职场文书
anaconda python3.8安装后降级
2021/06/11 Python
MySQL数据库查询之多表查询总结
2022/08/05 MySQL