Я успешно расширил класс CI_Controller, создав MY_Controller.php, который я поместил в каталог application / core.
core / My_Controller.php выглядит примерно так:
class MY_Controller extends CI_Controller {
function __construct()
{
parent::__construct();
}
}
Затем, когда я создаю нормальные контроллеры, они выглядят примерно так:
class Home extends MY_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->view('home');
}
}
Я создаю админ-бэкэнд и хочу иметь другойбазовый класс для расширения контроллеров вместо My_Controller.Это значит, что у меня могут быть общие методы для административных контроллеров (например, authentication_check и т. Д.)
Что я не могу понять, так это как я создаю другой контроллер, расширяющий CI_Controller.
Цельдля контроллеров администратора для расширения базового класса, отличного от интерфейсных контроллеров.
Базовый контроллер администратора будет выглядеть следующим образом:
class MY_Admin_Controller extends CI_Controller {
function __construct()
{
parent::__construct();
}
}
Anобычный контроллер для страниц администратора:
class Admin_home extends MY_Admin_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->view('admin_home');
}
}
Проблема заключается в том, что для расширения класса CI_Controller необходимо присвоить файлу контроллера имя PREFIX_Controller.php и поместить его в каталог core /.Но мне нужны два класса контроллеров, и они не могут иметь одинаковые имена файлов.