关于 钩子 的调用
若是定义了钩子,是不是所有的controller都会产生效果? 如果我只想要一部分controller起作用 该怎么办?手册没有写明。是不是 想要用到钩子的controller 声明一个比如 post_controller_constructor ()挂钩点,包含传递参数,函数体为空? 钩子我一直没用过,不太清楚,呵呵 up .,,upupupupup 还是 国外的主站 人气 旺,说是要在钩子函数中作处理,判断是否要应用钩子
PS 那个推荐我用hook的人似乎不怎么上网么:Q 呵呵 国外用 CI 的人多,CI 中国还需努力呀。 本帖最后由 trynews 于 2009-2-16 21:47 编辑
可像下面这样判断呀
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已自动导入 求解,钩子的内容会自动执行吗?还是要调用? incool 发表于 2011-11-4 09:49 static/image/common/back.gif
求解,钩子的内容会自动执行吗?还是要调用?
需在要配置文件里配。
手册上有说明 本帖最后由 incool 于 2011-11-4 09:59 编辑
baiyuxiong 发表于 2011-11-4 09:55 static/image/common/back.gif
需在要配置文件里配。
手册上有说明
已经配置了
$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的话,没内容。。。
在hook文件里配置了,在 config里打开了,controller里怎么调用,还是自动调还是在config里再配置一下.
页:
[1]
2