CI钩子解决静态缓存不能执行SQL等问题,各位老大来探讨一下
我们知道在用CI做静态缓存后不能执行SQL等等,我的解决方法是用钩子,代码如下$hook['cache_override'] = array(
'class' => 'Browse_initial',
'function' => 'caching',
'filename' => 'Browse_initial.php',
'filepath' => 'hooks',
'params' => array()
);
$hook['post_controller_constructor'] = array(
'class' => 'Browse_initial',
'function' => 'initial',
'filename' => 'Browse_initial.php',
'filepath' => 'hooks',
'params' => array()
);
Browse_initial.php文件代码如下:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Browse_initial {
function initial()
{
global $OUT, $CFG, $URI, $RTR;
if ($URI->rsegment(1) == 'browse')
{
if ($OUT->_display_cache($CFG, $URI) == TRUE)
{
exit;
}
}
}
//缓存控制
function caching()
{
return TRUE;
}
}
?>
可是这样处理带来的好处基本上很少,但是如果把post_controller_constructor 改成 pre_controller 这个时候占用资源明显少很多,但是这时候Browse_initial.php文件里怎样调用数据库操作,或调用模块操作,或调用其它的类有没有什么好的方法?
顶一下
页:
[1]