用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5620|回复: 10
收起左侧

关于 钩子 的调用

[复制链接]
发表于 2009-1-15 10:45:33 | 显示全部楼层 |阅读模式
若是定义了钩子,是不是所有的controller都会产生效果? 如果我只想要一部分controller起作用 该怎么办?手册没有写明。
是不是 想要用到钩子的controller 声明一个比如 post_controller_constructor ()挂钩点,包含传递参数,函数体为空?
发表于 2009-1-15 23:55:01 | 显示全部楼层
钩子我一直没用过,不太清楚,呵呵
 楼主| 发表于 2009-1-16 17:03:55 | 显示全部楼层
up .,,upupupupup
 楼主| 发表于 2009-1-16 20:20:01 | 显示全部楼层
还是 国外的主站 人气 旺,说是要在钩子函数中作处理,判断是否要应用钩子

PS 那个推荐我用hook的人似乎不怎么上网么
发表于 2009-1-17 02:03:36 | 显示全部楼层
呵呵 国外用 CI 的人多,CI 中国还需努力呀。
发表于 2009-2-16 21:35:01 | 显示全部楼层
本帖最后由 trynews 于 2009-2-16 21:47 编辑

可像下面这样判断呀

PHP复制代码
 
class RoleInterceptor {
 
private $CI;
 
function __construct() {
  $this->CI = & get_instance();
}
 
function CheckRolePriv(){
  //router设在autoload里
  $dir = $this->CI->router->fetch_directory();//目录
  $cla = $this->CI->router->fetch_class();//类名
  $met = $this->CI->router->fetch_method();//方法名
 
  //是否后台程序
  if($dir == 'admin/' ){
 
    //处理admin目录里的php,当然还可以通过$cla与$met进一步判断
 
  }
 
}
 
 
复制代码


用post_controller_constructor是为便于初始化控制器,把router已自动导入
发表于 2011-11-4 09:49:17 | 显示全部楼层
求解,钩子的内容会自动执行吗?还是要调用?
发表于 2011-11-4 09:55:36 | 显示全部楼层
incool 发表于 2011-11-4 09:49
求解,钩子的内容会自动执行吗?还是要调用?

需在要配置文件里配。
手册上有说明
发表于 2011-11-4 09:58:04 | 显示全部楼层
本帖最后由 incool 于 2011-11-4 09:59 编辑
baiyuxiong 发表于 2011-11-4 09:55
需在要配置文件里配。
手册上有说明

已经配置了
$config['enable_hooks'] = TRUE;
$hook['pre_controller'] = array(
                'class'    => 'Browser_Cache',
                'function' => 'browser_cache',
                'filename' => 'browser_cache.php',
                'filepath' => 'hooks',
);


class Browser_Cache{
        function __construct(){
               
        }
       
        function browser_cache(){
                die('fffffffffffffff');
                $last_update='60*60*24*7';
                $this->output->set_header('Expires: '.gmdate('D, d M Y H:i:s', $last_update).' GMT');
                $this->output->set_header("Cache-Control: public");
                $this->output->set_header("Pragma: cache");
        }
}

die的话,没内容。。。
发表于 2011-11-8 13:26:37 | 显示全部楼层
在hook文件里配置了,在 config里打开了,controller里怎么调用,还是自动调还是在config里再配置一下.

本版积分规则