南斗工作组

很多东西不记下来,总归是回忘记的

PHP页面静态化的两种方式

| |
11:05 , P.Qingliang
PHP页面静态化是大多数PHP程序员耳熟能详、随手可写的功能了,在这里不讨论如何生成静态页面的细节,而是考虑:将静态缓存功能作为系统的哪个部分的结构来实现(基于MVC模式,如果对MVC不了解,对于下面的内容的理解可能有困难)。

在我的总结有两种主要的方式,其他的还没有发现,如果你有第三种可行的方案,请给我发一份示意代码,谢谢。(代码使用PHPLIB template示范)

第一种方式:由控制器来调用单独的缓存类。在这个时候缓存类是一个单独的类,与模板引擎相对独立,在一个请求开始的时候,缓存类即被调用,并进行一些相关的缓存操作。这一工作甚至可以直接在调度器中完成(如果存在调度器dispatcher的话)。下面给出一个简单的代码示范(只有框架):





第二种方法:由模板类来控制缓存。对于任何请求,控制器都直接调用模板类来完成工作,由模板类自己完成与缓存相关的工作。下面的代码我只列出框架:



两种方式各有特点,从功能上来说:
第一种方式(独立缓存类)可较大程度的控制缓存,无论是否使用模板引擎、无论使用哪种模板引擎,对其都几乎没有影响。如果模板引擎本身也提供静态缓存功能,则直接关闭模板缓存功能即可;
第二种方式由于缓存功能是嵌入在模板引擎之内的,对于每一步的页面生成都能很好的把握,所以可以更好的定制输出信息。
两种方式在核心处理上是一样的,区别只是他们的在模式中定位的不同,这在框架的编写中是必须要考虑的。


最后编辑: Model.King 编辑于July 6, 2008 10:24
类别:PHP相关 | Tags: , , , | 0 条评论, 189 次阅读
网友评论(0):
发表评论:

昵称: 
电邮:
网址: