thinkphp 静态化 转载

来源:互联网 发布:黑马手机安全卫士源码 编辑:程序博客网 时间:2024/06/14 16:35
gai_ge的专栏

[原]ThinkPHP 页面静态化 实例解析

2013-2-3阅读706 评论0

ThinkPHP 页面静态化 实例解析

  当接到任务把页面静态化的时候,看到网上的一些原理,发现都很复杂。

于是寻找有没有现成的东西可以直接使用。庆幸的是当初选择了ThinkPHP,他真的好强大。

在官方的文档中说明了如何使用静态化

静态缓存

规则就不详细讲了,详情参考上面的官方连接。

一、

打开APP的配置文件,例如本实例是对Home下的config.php来修改,静态化的也是Home对应的模块。打开后添加以下代码
'HTML_CACHE_ON'=>true,//打开缓存'HTML_PATH' =>'__APP__/html',//静态页面存放的目录,这里会放在ROOT/Home/html/下'HTML_CACHE_TIME'=>'60',//静态页面存活的时间,单位为秒'HTML_FILE_SUFFIX' => '.html',//静态页面的后缀名,也可以改为其他的后缀名字'HTML_CACHE_RULES'=> array(    'index'   => array('{:module}/{:action}'),    'BrowserUpdate'            => array('{:module}/{:action}'),    'Context:Context'                      => array('{:module}/{:action}/{articleid}'),    'Context:ContextClass'                   => array('{:module}/{:action}/{id}'),    'Context:ContextCategory'         => array('{:module}/{:action}/{id}'),    'Message:touristMessage'                   => array('{:module}/{:action}'),    'Photo:index'         => array('{:module}/{:action}'),    'Photo:itmes'          => array('{:module}/{:action}/{id}'), 'HTML_READ_TYPE'=>0,


二、实例分析

对于首页的连接

http://127.0.0.1:8880/对应的模块应该为 IndexAction 中的 index方法根据规则

'index' => array('{:module}/{:action}'),  产生的的静态页面文件应该是ROOT/Home/html/Index/index.html

打开以上目录即可看到,由于没有设置路径的静态化,所以url还是http://127.0.0.1:8880/lixin/,但其实已经调用了html文件,如果怀疑,可以修改ROOT/Home/html/Index/index.html即可看到结果。

url的html不再本文的讨论内容内,这里省略。

以上的连接是最简单的一种规则,如果有参数怎么办?我们必须把参数加入到文件的命名规则中以区分不同参数的页面,例如

http://127.0.0.1:8880/lixin/index.php/Context/ContextCategory/id/6

在以上连接中对应着Context(ContextAction)模块下ContextCategory方法,get参数是id = 6 根据规则

'Context:ContextCategory' => array('{:module}/{:action}/{id}'), 产生的静态页面为ROOT/Home/html/Context/ContextCategory/1.html

以上的规则中还可以设置参数,例如'index' => array('{:module}/{:action}',120),表示主页的缓存时间比其他的默认缓存多了60s,具体规则参看官方文档

 

 

上一篇下一篇
请先登录后,再发表评论!
查看评论
    更多评论(0)
    回顶部
    0 0
    原创粉丝点击