Php 带有get_实例()的Codeigniter 3;在钩子文件中
我在hook文件夹中有一个这样的类Php 带有get_实例()的Codeigniter 3;在钩子文件中,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,我在hook文件夹中有一个这样的类 class CheckAuth { protected $CI; public function __construct() { $this->CI = get_instance(); } public function check() { $router =& load_class('Router', 'core'); // $controller
class CheckAuth {
protected $CI;
public function __construct()
{
$this->CI = get_instance();
}
public function check()
{
$router =& load_class('Router', 'core');
// $controller = $this->CI->router->class;
$controller = $router->fetch_class();
$method = $router->fetch_method();
if($controller!='auth')
{
echo $this->CI->userdata('admin_id');
}
}
}
当我得到一个会话时,我显示错误
致命错误:对非对象$this->CI调用成员函数userdata(),返回null
试试这个,它会有用的
public function __construct()
{
}
public function check()
{
$this->CI = get_instance();
$router =& load_class('Router', 'core');
// $controller = $this->CI->router->class;
$controller = $router->fetch_class();
$method = $router->fetch_method();
if($controller!='auth')
{
echo $this->CI->userdata('admin_id');
}
}
这是因为CI尚未加载到某些挂钩点(pre_控制器、pre_系统)。您可能正在尝试在其中的一些中加载类