作为一个cmf,怎么可以没有静态页面??
参考:
tp5的行为扩展:
https://www.kancloud.cn/manual/thinkphp5/118130
tp3.2的静态缓存:
http://document.thinkphp.cn/manual_3_2.html#html_cache
1.首先需要2个php文件
ReadHtmlCacheBehavior.php
WriteHtmlCacheBehavior.php
请自行在tp3.2里面复制或者百度下载
2.将这两个文件放入 simplewind\cmf\behavior
修改文件的namespace ,
namespace cmf\behavior;
3.添加配置到文件 app\config.php
// +---------------------------------------------------------------------- // | 静态缓存 // +---------------------------------------------------------------------- 'html_cache_on' => true, // 开启静态缓存 'html_cache_time' => 7200, // 全局静态缓存有效期(秒) 'html_file_suffix' => '.shtml', // 设置静态缓存文件后缀 'html_cache_compile_type' => 'file',//缓存存储驱动 'html_cache_rules' => array( // 定义静态缓存规则 // // 定义格式1 数组方式 //'静态地址' => array('静态规则', '有效期', '附加规则'), //1.任意控制器的任意操作都适用 '*' => array('{$_SERVER.REQUEST_URI|md5}'), //2.任意控制器的md5操作 'md5' => array('{:module}/{:controller}/{:action}_{id|md5}'), //3.Static控制器的所有操作 'Static:' => array('{:module}/{:controller}/{:action}', 50),//第一个参数是构造的字符串,后面是缓存50秒 //4.Hmtl控制器的md5操作 'Html:md5' => array('{:module}/{:controller}/{:action}'), ),
4.注册绑定行为 app\tags.php,注意:在对应的位置添加就行了,大约分别在16和28行附近
// 应用初始化 'app_init' => [ 'cmf\\behavior\\InitHookBehavior', 'cmf\\behavior\\ReadHtmlCacheBehavior',//静态缓存 ], // 视图内容过滤 'view_filter' => [ 'cmf\\behavior\\WriteHtmlCacheBehavior',//静态缓存 ],
完成了,静态缓存文件位置 data\runtime
效果图如下,左边是静态缓存,右边是模板缓存
使用后台更新缓存可以更新
环境:
PHP Version 5.5.38 |
System | Windows NT SU 6.2 build 9200 (Windows 8 Professional Edition) i586 |
Build Date | Jul 20 2016 11:08:49 |
Compiler | MSVC11 (Visual C++ 2012) |
Architecture | x86 |
0.话题发布后没及时显示,请联系官方QQ群管理;
1.话题支持代码,qq截屏直接粘贴,和QQ群一样;
2.问题描述清,比如服务器版本,程序版本;
3.能上代码,就不用文字;
4.把问题发到话题后再发QQ群;
5.如果感觉回复者解答的不错,可以发红包!
6.多帮助别人也是对自己的锻炼!
7.付费讨论中只有提问者和付费用户才可以查看回复
1.评论积分+1;每天最多10次奖励
2.发布话题积分+1;每天最多5次奖励
3.垃圾评论积分-500;
4.黄色,暴力,违反我国法律评论直接封号