Если предположить, что вы используете Codeigniter 2, это можно сделать, поставив все, что вам расширенные классы контроллеров в одном файле.
В /приложение/ядро создать файл с именем MY_Controller.php (не забудьте проверить префикс подкласса в config.php вокруг линии 109)
Здесь вы можете добавить все вы должны расширить классы контроллеров. Например;
Затем, когда вы создаете свои контроллеры в соответствии с нормальным, просто выберите базовый класс контроллера для расширения. Пример;
class Foo extends AdminLayout {
public function __construct() {
parent::__construct();
if (is_logged_in() == FALSE) {
$this->session->set_userdata('return_to', uri_string());
$this->session->set_flashdata('message', 'You need to log in.');
redirect('/home');
}
}
}
или
class Bar extends ModLayout {
public function __construct() {
parent::__construct();
if (is_logged_in() == FALSE) {
$this->session->set_userdata('return_to', uri_string());
$this->session->set_flashdata('message', 'You need to log in.');
redirect('/home');
}
}
}
По крайней мере, ваш 'функциональность LoggedIn' следует поместить на уровне сервиса, а не на уровне контроллера. – Flavius