我试图通过在codeigniter中挂钩来设置规则,但现在我处于这样一种情况,我需要从pre_controller中排除一个控制器,除了所有其他控制器将遵循挂钩文件的pre_controller规则。 我怎样才能做到这一点?
答案 0 :(得分:0)
问题是您正在使用pre_controller
挂钩。此时,您无法使CI实例访问基类。它们仅由引导文件(system/core/CodeIgniter.php
)实例化为本地类变量,尚未分配(system/core/Controller.php
)到CI超级对象。
当您在钩子中手动加载路由器类时,它应该可以工作(就像引导程序文件一样)。
public function before_controller_hook()
{
$RTR =& load_class('Router');
if ($RTR->class != "ControllerYouDontWant"){
// ... the magic
}
}
我希望这会对你有所帮助。