Codeigniter 3 с get_instance (); в файле хука

1

У меня есть класс в папке с крючками, как это

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');
        }
    }
}

Я показываю ошибку, когда получаю сеанс

Неустранимая ошибка: вызов функции-члена userdata() для не-объекта $this-> CI return null.

Теги:
codeigniter
codeigniter-3

2 ответа

0

Это потому, что CI еще не загружен в некоторых точках перехвата (pre_controller, pre_system). Вероятно, вы пытаетесь загрузить класс в некоторые из них.

0

Попробуй, это сработает.

    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');
        }
    }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню