|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
避免页面元素重复 “这确实不错”,你也许会想,“我的网站主要就是由大量的静态页面构成。现在我可以从所有页面中删除它们的公共部分,要更新这些公共部分实在太麻烦了。以后我就可以用模板制作出很轻易维护的统一页面布局。”但事情并非这么简朴,“大量的静态页面”道出了问题的所在。 请考虑上面的例子。这个例子实际上只有一个example.php页面,它之所以能够生成整个网站的所有页面,是因为它利用了URL中的查询字符串从数据库之类的信息源动态地构造出页面。 我们之中的大多数人所运行的网站并不一定都有数据库支持。我们的网站大多数由静态页面构成,然后用PHP在这里、那里加上一些动态功能,比如搜索引擎、反馈表单等。那么,如何在这种网站上应用模板呢? 最简朴的方式是为每一个页面复制一份PHP文件,然后在每一个页面中把PHP代码里代表内容的变量设置成合适的页面内容。例如,假设有三个页面,它们分别是主页(home)、关于(about)和产品(product),我们可以用三个文件分别生成它们。这三个文件的内容都类如: <?php // home.php require(\\'class.FastTemplate.php\\'); $tpl = new FastTemplate(\\'.\\'); $tpl->define( array( \\'main\\' => \\'main.htm\\', \\'header\\' => \\'header.htm\\', \\'leftnav\\' => \\'leftnav.htm\\' ) ); $content = "<p>欢迎访问</p> <img src="demo.jpg"> <p>希望你能够喜欢本网站</p>"; $tpl->assign(\\'CONTENT\\', $content); $tpl->parse(\\'HEADER\\', \\'header\\'); $tpl->parse(\\'LEFTNAV\\', \\'leftnav\\'); $tpl->parse(\\'MAIN\\', \\'main\\'); $tpl->FastPrint(\\'MAIN\\'); ?> 显然,这种方式有三个问题:我们必须为每一个页面复制这些复杂的、牵涉到模板的PHP代码,这与重复公共页面元素相同使得页面难以维护;现在文件又混合了HTML和PHP代码;为内容变量赋值将变得异常困难,因为我们必须处理好大量的特别字符。 解决这个问题的要害就在于分离PHP代码和HTML内容,虽然我们不能从文件中删除所有的HTML内容,但可以移出绝大多数PHP代码。 返回类别: 教程 上一教程: PHP开发中文件操作疑难问答 下一教程: 能得到你是从什么页面过来的,referer的用处 您可以阅读与"用PHP制作静态网站的模板框架(三)"相关的教程: · 用PHP制作静态网站的模板框架(四) · 用PHP制作静态网站的模板框架(一) · 用PHP制作静态网站的模板框架(二) · cqlctpl php模板开始提供,最好用,功能最强盛的模板 · PHP.MVC的模板标签系统(一) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |