Home > Backend Development > PHP Tutorial > CI怎么通过hook获取控制器和方法名?

CI怎么通过hook获取控制器和方法名?

WBOY
Release: 2016-06-06 20:07:14
Original
998 people have browsed it

需要通过hook来获取控制器和方法名,我把钩子挂在了CI_Controller在钩子里使用
$this->router->class会报错,我想到的解决办法是使用$_SERVER ,如何使用router而不会报错呢?

更新时间2016年5月29日 20:20:55
最后决定重新挂在CodeIgniter.php里面。请看图。
CI怎么通过hook获取控制器和方法名?
CI怎么通过hook获取控制器和方法名?

<code>class Fun_Log{
    public function fun_action(){
        var_dump($this->router);
    }    
}
</code>
Copy after login
Copy after login

但是就报错了
CI怎么通过hook获取控制器和方法名?

回复内容:

需要通过hook来获取控制器和方法名,我把钩子挂在了CI_Controller在钩子里使用
$this->router->class会报错,我想到的解决办法是使用$_SERVER ,如何使用router而不会报错呢?

更新时间2016年5月29日 20:20:55
最后决定重新挂在CodeIgniter.php里面。请看图。
CI怎么通过hook获取控制器和方法名?
CI怎么通过hook获取控制器和方法名?

<code>class Fun_Log{
    public function fun_action(){
        var_dump($this->router);
    }    
}
</code>
Copy after login
Copy after login

但是就报错了
CI怎么通过hook获取控制器和方法名?

已解决。原来问题原因起在hooks.php里$hook['这里必须是CI的挂载点'],之前还以为这个名称可以自己定,然后在哪里把这个hook挂上去。所以才报错。另外需要先使用$this->CI = &get_instance();来获取CI的对象,不然调用不了CI自带的类

<code>$class = $this->router->fetch_class();
$method = $this->router->fetch_method();</code>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template