用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 cookis创建实现代码
Mar 16 PHP
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
Oct 22 PHP
php中经典方法实现判断多维数组是否为空
Oct 23 PHP
ThinkPHP上使用多说评论插件的方法
Oct 31 PHP
php实现用手机关闭计算机(电脑)的方法
Apr 22 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
基于PHP实现短信验证码接口(容联运通讯)
Sep 06 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 PHP
php+js实现裁剪任意形状图片
Oct 31 PHP
CI框架网页缓存简单用法分析
Dec 26 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
Oct 12 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
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
深入学习微信网址链接解封的防封原理visit_type
2019/08/15 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
2020/02/10 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
asp javascript 实现关闭窗口时保存数据的办法
2007/11/24 Javascript
JQuery 学习笔记01 JQuery初接触
2010/05/06 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
JS图片放大效果简单实现代码
2016/09/08 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
浅谈js函数的多种定义方法与区别
2016/11/29 Javascript
详解Node.js实现301、302重定向服务
2017/04/07 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
React如何利用相对于根目录进行引用组件详解
2017/10/09 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
python对url格式解析的方法
2015/05/13 Python
tensorflow实现逻辑回归模型
2018/09/08 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
2019/01/22 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
对python 树状嵌套结构的实现思路详解
2019/08/09 Python
pytorch 加载(.pth)格式的模型实例
2019/08/20 Python
python二进制读写及特殊码同步实现详解
2019/10/11 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
python 调用Google翻译接口的方法
2020/12/09 Python
详解如何在css3打包后自动追加前缀插件:autoprefixer
2018/12/18 HTML / CSS
澳大利亚天然护肤品、化妆品和健康产品一站式商店:Nourished Life
2018/12/02 全球购物
Arti-shopping中文官网:大型海外商品一站式直邮平台
2020/03/23 全球购物
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
高中毕业生个人自我鉴定
2013/11/24 职场文书
2016年教师学习廉政准则心得体会
2016/01/20 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis