用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在线打包程序源码
Jul 27 PHP
PHP strncasecmp字符串比较的小技巧
Jan 04 PHP
php长字符串定义方法
Jul 12 PHP
php创建基本身份认证站点的方法详解
Jun 08 PHP
php实现购物车功能(下)
Jan 05 PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 PHP
yii2控制器Controller Ajax操作示例
Jul 23 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
Oct 10 PHP
redirect_uri参数错误的解决方法(必看)
Feb 16 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
Mar 31 PHP
PHPExcel 修改已存在Excel的方法
May 03 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 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循环检测目录是否存在并创建(循环创建目录)
2011/01/06 PHP
php生成与读取excel文件
2016/10/14 PHP
thinkphp关于简单的权限判定方法
2017/04/03 PHP
多浏览器兼容的获取元素和鼠标的位置的js代码
2009/12/15 Javascript
javascript setTimeout()传递函数参数(包括传递对象参数)
2010/04/07 Javascript
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
js实现a标签超链接提交form表单的方法
2015/06/24 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
2015/08/05 Javascript
javascript密码强度校验代码(两种方法)
2015/08/10 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
深入学习nodejs中的async模块的使用方法
2017/07/12 NodeJs
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
jQuery ajax调用webservice注意事项
2017/10/08 jQuery
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
JavaScript展开操作符(Spread operator)详解
2019/07/20 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
在Python的循环体中使用else语句的方法
2015/03/30 Python
python实现的多线程端口扫描功能示例
2017/01/21 Python
Python中几种导入模块的方式总结
2017/04/27 Python
Python实现简单过滤文本段的方法
2017/05/24 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
2019/08/09 Python
简单的Python调度器Schedule详解
2019/08/30 Python
python反转列表的三种方式解析
2019/11/08 Python
毕业生多媒体设计求职信
2013/10/12 职场文书
经典的班主任推荐信
2013/10/28 职场文书
餐饮主管岗位职责
2013/12/10 职场文书
高校教师思想汇报
2014/01/11 职场文书
银行贷款承诺书
2014/03/29 职场文书
会议通知范文
2015/04/15 职场文书
2016年端午节寄语
2015/12/04 职场文书