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