`
xcgh
  • 浏览: 77372 次
  • 来自: ...
社区版块
存档分类
最新评论

用PHP制作静态网站的模板框架

    博客分类:
  • php
阅读更多
模板能够改善网站的结构。本文阐述如何通过PHP 4的一个新功能和模板类,在由大量静态HTML页面构成的网站中巧妙地运用模板控制页面布局。

 


 


提纲:


===================================


分离功能和布局


 


避免页面元素重复


 


静态网站的模板框架


===================================


 



 


分离功能和布局


 


   首先我们来看看应用模板的两个主要目的:


 




     



  • 分离功能(PHP)和布局(HTML)

     


     


  • 避免页面元素重复

     


     


 


   第一个目的是谈论得最多的目的,它设想的情形是:一组程序员编写用于生成页面内容的PHP脚本,同时另一组设计人员设计HTML和图形以控制页面的最终外观。分离功能和布局的基本思想就是使得这两组人能够各自编写和使用独立的一组文件:程序员只需关心那些只包含PHP代码的文件,无需关心页面的外观;而页面设计人员可以用自己最熟悉的可视化编辑器设计页面布局,无需担心破坏任何嵌入到页面的PHP代码。


 


   如果你曾经看过几个关于PHP模板的教程,那么你应该已经明白模板的工作机制。考虑一个简单的页面局部:页面的上方是页头,左边是导航条,其余部分是内容区域。这种网站可以拥有如下模板文件:


 


 


<!---->



{HEADER}
{LEFTNAV} {CONTENT}








Foo

Bar


 


 


   可以看出页面如何由这些模板构造而成:main模板控制着整个页面的布局;header模板和leftnav模板控制着页面的公共元素。花括号“{}”里面的标识符是内容占位符。使用模板最主要的好处在于界面设计者能够按照自己的意愿编辑这些文件,比如设置字体、修改颜色和图形,或者完全地改变页面的布局。界面设计者可以用任何普通HTML编辑器或者可视化工具编辑这些页面,因为这些文件都只包含HTML代码,没有任何PHP代码。


  PHP代码全部保存到单独的文件中,这个文件也就是由页面URL实际调用的文件。Web服务器通过PHP引擎解析该文件,然后把结果返回给浏览器。一般地,PHP代码总是动态地生成页面内容,比如查询数据库或者执行某种计算等。下面是一个例子:


 


<!---->
// example.php
require('class.FastTemplate.php');
$tpl = new FastTemplate('.');
$tpl->define( array( 'main' => 'main.htm',
'header' => 'header.htm',
'leftnav' => 'leftnav.htm' ) );

// 此处的PHP代码设置$content使其包含合适的页面内容

$tpl->assign('CONTENT', $content);
$tpl->parse('HEADER', 'header');
$tpl->parse('LEFTNAV', 'leftnav');
$tpl->parse('MAIN', 'main');
$tpl->FastPrint('MAIN');

?>


   这里我们使用的是流行的FastTemplate模板类,但其基本思路对于其他许多模板类来说都一样。首先你实例化一个类,告诉它到哪里去寻找模板文件以及哪一个模板文件与页面的哪部分对应;接下来是生成页面内容,把结果赋予内容的标识符;然后,依次解析各个模板文件,模板类将执行必要的替换操作;最后把解析结果输出到浏览器。


 


   这个文件完全由PHP代码构成,不包含任何HTML代码,这是它最大的优点。现在,PHP程序员可以集中精力编写生成页面内容的代码,而不必为了如何生成HTML去正确地格式化最终页面而担心。


 


   你可以使用这种方法和上面的文件构造出一个完整的网站。如果PHP代码是以URL中的查询字符串为基础生成页面内容,例如http://www.foo.com/example.php?article=099,你可以据此构造出一个完整的杂志网站。


 


   很容易看出采用模板还有第二个好处。如上例所示,页面左边的导航条单独保存为一个文件,我们只需编辑这一个模板文件就可以改变网站所有页面左边的导航条。


避免页面元素重复


 


   “这确实不错”,你也许会想,“我的网站主要就是由大量的静态页面构成。现在我可以从所有页面中删除它们的公共部分,要更新这些公共部分实在太麻烦了。以后我就可以用模板制作出很容易维护的统一页面布局。”但事情并非这么简单,“大量的静态页面”道出了问题的所在。


 


   请考虑上面的例子。这个例子实际上只有一个example.php页面,它之所以能够生成整个网站的所有页面,是因为它利用了URL中的查询字符串从数据库之类的信息源动态地构造出页面。


 


   我们之中的大多数人所运行的网站并不一定都有数据库支持。我们的网站大多数由静态页面构成,然后用PHP在这里、那里加上一些动态功能,比如搜索引擎、反馈表单等。那么,如何在这种网站上应用模板呢?


 


   最简单的方法是为每一个页面复制一份PHP文件,然后在每一个页面中把PHP代码里代表内容的变量设置成合适的页面内容。例如,假设有三个页面,它们分别是主页(home)、关于(about)和产品(product),我们可以用三个文件分别生成它们。这三个文件的内容都类如:


 


<!---->
// home.php
require('class.FastTemplate.php');
$tpl = new FastTemplate('.');
$tpl->define( array( 'main' => 'main.htm',
'header' => 'header.htm',
'leftnav' => 'leftnav.htm' ) );

$content = "

欢迎访问


http://www.thewebmasters.net/找到,最新的版本号是1.1.0,那里还有一个用于保证该类在PHP 4中正确运行的小补丁。本文下载代码中的类已经经过该补丁的修正。

分享到:
评论

相关推荐

    纯静态html网站模板

    【纯静态HTML网站模板】是一种不依赖服务器端脚本(如PHP、ASP.NET或Java)的网页设计方式,它仅由HTML、CSS和JavaScript等前端技术构建。这种模板非常适合初学者,尤其是对于大学生进行Web课程学习,因为它简化了...

    纯静态html网页模版

    纯静态HTML网页模板是网页设计中常见的一种方式,它不依赖服务器端的脚本语言(如PHP、ASP、JSP等)进行动态处理,而是直接由HTML、CSS和JavaScript等前端技术构建完成。这种模板主要由HTML文件、样式表文件(CSS)...

    用PHP制作静态网站的模板框架(一)

    静态网站的模板框架 =================================== 分离功能和布局  首先我们来看看应用模板的两个主要目的: 分离功能(PHP)和布局(HTML) 避免页面元素重复  第一个目的是谈论得最多的目的,它...

    静态网站模板

    在IT行业中,静态网站模板是一种预先设计好的网页布局,它为开发者提供了快速构建网站的基础框架。这些模板通常由HTML、CSS和JavaScript等前端技术构建,适用于后台程序员进行内容填充和前端美工进行视觉设计。本篇...

    用PHP制作静态网站的模板框架(二)

    PHP代码全部保存到单独的文件中,这个文件也就是由页面URL实际调用的文件。Web服务器通过PHP引擎解析该文件,然后把结果返回给浏览器。一般地,PHP代码总是动态地生成页面内容,比如查询数据库或者执行某种计算等。...

    静态html网站模板

    【静态HTML网站模板】是一种基于HTML、CSS和JavaScript等前端技术构建的网页设计模板,它不依赖服务器端的编程语言,如PHP、Java或ASP.NET,而是直接在客户端被浏览器解析和显示。这样的模板适用于小型企业或者个人...

    用PHP制作静态网站的模板框架(三)

    总结来说,使用PHP制作静态网站的模板框架可以帮助我们有效地组织和管理页面元素,降低维护成本。通过分离PHP代码和HTML内容,我们可以创建出更清晰、更易于维护的项目结构。对于那些没有数据库支持但仍需动态功能的...

    29款精美的静态网站模板

    标题 "29款精美的静态网站模板" 涉及的是网页设计领域,特别是静态网站的界面设计。静态网站是指不包含服务器端脚本或动态内容的网站,它们由HTML、CSS和JavaScript等基本Web技术构建,内容在加载时一次性呈现,不会...

    36套HTML静态网站模板

    HTML静态网站模板是用于快速构建网站的预制设计框架,它们由HTML、CSS和JavaScript等前端技术组成,可以为开发者提供一个基础布局,节省从零开始创建网页的时间。这些模板通常包含多个页面,如主页、关于我们、服务...

    php静态 页面生成

    在PHP中,静态页面生成是一种常见的优化网站性能的技术...此外,对于大型复杂的网站,可能需要更复杂的缓存策略,如使用缓存服务(如Varnish)或者PHP框架提供的高级缓存机制(如Laravel的Blade模板引擎的缓存功能)。

    在线考试模版静态页面

    在线考试模版静态页面是一种基于Web的考试系统前端设计,主要功能是提供用户友好的界面,使得考生可以方便地进行在线答题。这个模版包含了HTML和JavaScript技术,以实现单选题和多选题的答题样式,同时具备自动聚焦...

    PHP伪静态实例代码

    在网站开发中,"伪静态"是一种常见的技术...在实际应用中,这涉及到URL解析、数据库操作、模板渲染等多个环节,结合提供的文件,我们可以推测这是一个包含动态内容生成、后台管理、以及静态化处理的完整PHP网站框架。

    静态页面模板

    在IT行业中,静态页面模板是开发Web项目时常用的一种工具,尤其对于快速构建管理系统的前端界面尤为方便。静态页面模板通常由HTML、CSS和JavaScript等技术构建,它们提供了一个预设计的布局和样式,开发者可以在此...

    漂亮的通用后台 html模板 静态模板 后台模板

    静态模板意味着这些HTML文件不依赖服务器端脚本,如PHP、ASP.NET或Node.js,而是直接由浏览器解析执行。 这个“漂亮的通用后台 html模板”具有以下关键知识点: 1. **响应式设计**:考虑到现代Web应用需要适应不同...

    一个比较完整的静态网站

    学习和分析这些案例,可以帮助初学者理解静态网站的工作原理,掌握网页制作的基本技巧,以及如何运用模版来快速构建网站。 静态网站的优势在于其简洁性和可预测性,但同时也存在一些限制,例如缺乏动态交互、数据...

    静态html模版1

    总结来说,"静态html模版1"是一个设计精良的网页模板,它利用XHTML和CSS技术,提供了快速构建专业外观网站的框架,具备响应式设计、SEO优化和跨浏览器兼容性等特性。用户可以基于这个模板进行个性化定制,以满足各种...

    php页面静态化

    2. 自动静态化:使用缓存框架或中间件,如Smarty、Twig等模板引擎,它们支持自动将动态内容转换为静态文件。另外,还有一些专门的静态化库,如PhlyStatic和Laravel的`Cache::store('file')`功能。 3. URL重写:通过...

    后台管理系统静态模板

    在描述中提到的"后台管理系统静态模板",我们可以推断其主要服务于网站或应用的后台管理部分,即管理员进行数据维护、用户管理、内容发布等操作的环境。这类模板通常会包含登录页面、仪表盘、表格展示、表单处理、...

    网上购物商城静态页面模板

    【标题】"网上购物商城静态页面模板"是一个用于构建电子商务平台的基础框架,它包含了HTML、CSS和...总的来说,这个"网上购物商城静态页面模板"是前端开发的一个良好起点,可以快速构建出一个功能完备的电商网站框架。

Global site tag (gtag.js) - Google Analytics