我有一个使用HMVC的codeigniter应用程序,但是对于身份验证,我有一个Controller Auth.php,我把它放在一个基本的Codeigniter控制器文件夹中,而不是在HMVC的模块文件夹中。
我只在模块文件夹中的控制器上使用此重映射功能。在每个模块控制器中都有这个代码。
public function _remap($method) {
$segment = $this->uri->segment(4);
switch ($method) {
case 'view':
if($segment === 'create') {
$this->create_view();
} elseif($segment === 'update') {
$this->update_view();
} else {
$this->search_view();
}
break;
case 'process':
if($segment === 'create') {
$this->create_process();
} elseif($segment === 'update') {
$this->update_process();
} else {
$this->delete_process();
}
break;
default:
$this->main_view();
break;
}
}
问题是,如何在每个模块控制器中删除此代码?我正在测试使用扩展MX_Controller的MY_Controller来增加代码。正在工作,但在我的Auth.php中,扩展CI_Controller是错误的。我一直在测试使用钩子,但没有运气。有没有办法做到这一点?
答案 0 :(得分:0)
已经找到了答案!只需把MY_Controller的名字变成别的东西就行了。