CI怎么通过hook获取控制器和方法名?
程序员文章站
2022-05-16 14:18:39
...
需要通过hook来获取控制器和方法名,我把钩子挂在了CI_Controller在钩子里使用$this->router->class
会报错,我想到的解决办法是使用$_SERVER
,如何使用router而不会报错呢?
更新时间2016年5月29日 20:20:55
最后决定重新挂在CodeIgniter.php里面。请看图。
class Fun_Log{
public function fun_action(){
var_dump($this->router);
}
}
但是就报错了
回复内容:
需要通过hook来获取控制器和方法名,我把钩子挂在了CI_Controller在钩子里使用$this->router->class
会报错,我想到的解决办法是使用$_SERVER
,如何使用router而不会报错呢?
更新时间2016年5月29日 20:20:55
最后决定重新挂在CodeIgniter.php里面。请看图。
class Fun_Log{
public function fun_action(){
var_dump($this->router);
}
}
但是就报错了
已解决。原来问题原因起在hooks.php里$hook['这里必须是CI的挂载点'],之前还以为这个名称可以自己定,然后在哪里把这个hook挂上去。所以才报错。另外需要先使用$this->CI = &get_instance();来获取CI的对象,不然调用不了CI自带的类
$class = $this->router->fetch_class();
$method = $this->router->fetch_method();
上一篇: 急隐藏路径有关问题