昨夜渡轮 发表于 2011-8-19 15:41:10

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文件里怎样调用数据库操作,或调用模块操作,或调用其它的类有没有什么好的方法?

s505208718 发表于 2011-8-19 17:07:53

顶一下
页: [1]
查看完整版本: CI钩子解决静态缓存不能执行SQL等问题,各位老大来探讨一下