【发布时间】:2011-06-10 06:05:26
【问题描述】:
我正在使用 HMVC 在 codeigniter 中开发一个站点,该站点分为多个模块。我希望管理员启用/禁用模块,以下是我计划如何实现它。由于我在 PHP/Codeigniter 方面没有太多经验,因此以下方式可能非常错误,因此正在寻找建议/反馈:
数据库表:模块 身份证 |姓名 |状态
上表将包含所有模块信息,状态字段将包含禁用/启用值(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,则将用户重定向到“Section Disabled Page”;
class Module1 extends MY_Controller{
public function __construct()
{
parent::__construct();
if($this->check_module_state('module1') == FALSE)
redirect('module_disabled', 'location');
}
}
上述方法有效吗,有没有更好更简单的替代方法? 谢谢
【问题讨论】:
标签: php codeigniter module