cri*_*erz 6 php codeigniter codeigniter-2
我正在尝试为我的Codeigniter
应用程序编写一个钩子.
我想抓住session
我的hook
.
这是加载钩子的代码:
$hook['pre_controller'] = array(
'function' => 'getNav',
'filename' => 'LoadNav.php',
'filepath' => 'hooks'
);
Run Code Online (Sandbox Code Playgroud)
这是我试图在钩子中加载的代码:
function getNav()
{
$CI =& get_instance();
$level = $CI->session->userdata('level');
}
Run Code Online (Sandbox Code Playgroud)
它不断抛出以下错误:
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: hooks/LoadNav.php
Line Number: 7
Run Code Online (Sandbox Code Playgroud)
我知道我做错了什么?似乎get_instance方法无法正常运行?
任何帮助将不胜感激,谢谢
阿兰
您无法$CI
在pre_controller
钩子中访问实例- 根据文档:
pre_controller hook在调用任何控制器之前立即调用.所有基类,路由和安全检查都已完成.
它是Controller
允许访问的CI get_instance()
.在实例化控制器之前,没有什么可以得到的.
请尝试post_controller_constructor
相反,看看是否能获得理想的结果.
在system/Core/Controller.php
:
class CI_Controller {
// <snip>
public static function &get_instance()
{
return self::$instance;
}
}
// END Controller class
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3153 次 |
最近记录: |