| 
 | 
 
我们知道在用CI做静态缓存后不能执行SQL等等,我的解决方法是用钩子,代码如下 
PHP复制代码  
 $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复制代码  
 <?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文件里怎样调用数据库操作,或调用模块操作,或调用其它的类有没有什么好的方法? 
 |   
 
 
 
 |