首頁 > 後端開發 > php教程 > CI怎么通过hook获取控制器和方法名?

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-06 20:07:14
原創
1040 人瀏覽過

需要通过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>
登入後複製
登入後複製

但是就报错了
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>
登入後複製
登入後複製

但是就报错了
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>
登入後複製
相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
怎麼學好php
來自於 1970-01-01 08:00:00
0
0
0
PHP擴充intl
來自於 1970-01-01 08:00:00
0
0
0
php數據獲取?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板