Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 阻止控制器执行_Php_Codeigniter - Fatal编程技术网

Php 阻止控制器执行

Php 阻止控制器执行,php,codeigniter,Php,Codeigniter,我有一个acl正在我的_控制器中运行。如果权限被拒绝,那么目前,我只需执行一个重定向('denied')——这是一个非常基本的控制器,它加载一个非常基本的视图,表示“权限被拒绝” 但是,我想做的是,仍然加载最初请求的uri,但是加载“denied”视图而不是默认视图 我可以在我的_控制器中执行此操作,拒绝的视图加载良好。但是,这并不会停止原始控制器/方法的执行,因此我会加载这两个视图。我还试着放一个出口语句,但这不可行,因为这样输出不会在CI中激发 也许可以通过pre_constructor_c

我有一个acl正在我的_控制器中运行。如果权限被拒绝,那么目前,我只需执行一个
重定向('denied')
——这是一个非常基本的控制器,它加载一个非常基本的视图,表示“权限被拒绝”

但是,我想做的是,仍然加载最初请求的uri,但是加载“denied”视图而不是默认视图

我可以在我的_控制器中执行此操作,拒绝的视图加载良好。但是,这并不会停止原始控制器/方法的执行,因此我会加载这两个视图。我还试着放一个
出口语句,但这不可行,因为这样输出不会在CI中激发


也许可以通过pre_constructor_controller钩子实现这一点吗?我无法找到阻止控制器执行的方法…

您必须让控制器执行,才能让请求的URI加载

MY_Controller
中检查ACL后,如果不允许,您可以在那里加载
denied
视图,但在退出之前,您还需要做一件事

$this->load->view('denied');
$this->output->_display();
exit();

太好了$这个->输出->\u display()就是我要找的。