Я использую CodeIgniter (v1.7.2) и создал собственный контроллер с аутентификацией MY_Controller (на основе сообщения в блоге Дэвида Винтера) Когда я загружаю любые контроллеры, которые используют этот базовый класс, я получаю эту ошибку;
* Сообщение: неопределенное свойство: MY_Controller :: $ session *
Обратите внимание, что я автоматически загружаю 'session' (и 'MY_controller' как библиотеку) примерно так:
$autoload['libraries'] = array('database', 'session', 'MY_Controller');
Вот MY_Controller:
class MY_Controller extends Controller {
public function __construct() {
parent::__construct();
if (!$this->session->userdata('loggedin')) { <-- error is here
header('Location: /sessions/login');
exit();
}
}
}
Вот контроллер, который я пытаюсь загрузить:
class Welcome extends MY_Controller {
function __construct() {
parent::__construct();
}
function index() {
$this->load->view('header');
$this->load->view('welcome_message');
$this->load->view('footer');
}
}
Когда я var_dump $this->session
выше, где происходит ошибка, я вижу, что это NULL. Даже помещение $this->load->library('session');
в конструктор MY_Controller не работает. Почему он не загружается должным образом?
Спасибо