Я занимаюсь разработкой сайта с использованием codeigniter, разделенного на модули с использованием HMVC.Я хочу, чтобы модули были включены / отключены администратором, и вот как я планирую это сделать.Поскольку у меня нет большого опыта в PHP / Codeigniter, следующий способ может быть очень неправильным, поэтому я ищу предложения / отзывы:
Таблица БД: ID модуля |ИМЯ |STATE
В приведенной выше таблице будет содержаться вся информация о модуле, а в поле состояния будет указано значение «отключено / включено» (0 или 1).
Я собираюсь расширить основной CI_Controller ифункция для проверки состояния модуля:
class MY_Controller extends CI_Controller{
public function __construct()
{
parent::__construct();
$this->load->Model('Module_model'); //loads the module model
}
function check_module_state($module_name = '')
{
return $this->Module_model->getState($module_name); //the model returns TRUE or FALSE
}
Теперь в конструкторе каждого контроллера я буду расширять класс MY_Controller, вызывать check_module_state
и, если он вернет FALSE, перенаправитпользователь на «Раздел отключенной страницы»;
class Module1 extends MY_Controller{
public function __construct()
{
parent::__construct();
if($this->check_module_state('module1') == FALSE)
redirect('module_disabled', 'location');
}
}
Будет ли работать вышеперечисленное, есть ли лучшая и более легкая альтернатива?Спасибо