用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 相关文章推荐
967 个函式
Oct 09 PHP
PHP4和PHP5共存于一系统
Nov 17 PHP
php 向访客和爬虫显示不同的内容
Nov 09 PHP
Cakephp 执行主要流程
Mar 24 PHP
php.ini修改php上传文件大小限制的方法详解
Jun 17 PHP
浅谈PHP解析URL函数parse_url和parse_str
Nov 11 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
Oct 18 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
Oct 21 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 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/14 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
对php 判断http还是https,以及获得当前url的方法详解
2019/01/15 PHP
无阻塞加载脚本分析[全]
2011/01/20 Javascript
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
如何判断鼠标是否在DIV的区域内
2013/11/13 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
超漂亮的jQuery图片轮播特效
2015/11/24 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
2018/01/21 jQuery
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
python线程池threadpool使用篇
2018/04/27 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
Python内置数据类型list各方法的性能测试过程解析
2020/01/07 Python
python处理RSTP视频流过程解析
2020/01/11 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
Python面向对象实现方法总结
2020/08/12 Python
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
2012/10/27 面试题
英文自荐信常用句子
2014/03/26 职场文书
廉政教育的心得体会
2014/09/01 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers