CakePHP 2.1中的错误的自定义视图
发布时间:2020-12-13 13:25:33 所属栏目:PHP教程 来源:网络整理
导读:我想在Cake PHP 2.1中为错误创建自定义视图 我这里一直在阅读以下问题:CakePHP 2.0 – How to make custom error pages? 但有些东西不能按预期工作! 1.)异常和错误似乎不是一回事,好像我去了一个伪造的网址我得到了内置的404页面,但如果我在控制器中手动执
我想在Cake
PHP 2.1中为错误创建自定义视图
我这里一直在阅读以下问题:CakePHP 2.0 – How to make custom error pages? 但有些东西不能按预期工作! 1.)异常和错误似乎不是一回事,好像我去了一个伪造的网址我得到了内置的404页面,但如果我在控制器中手动执行一个未发现的异常,它将调用自定义视图…为什么是这样?我认为Cake中的所有错误都经历了例外情况? 2.)我正在尝试渲染视图而不是实际重定向用户… App::uses('ExceptionRenderer','Error'); class AppExceptionRenderer extends ExceptionRenderer { public function notFound($error) { $this->controller->redirect(array('controller' => 'errors','action' => 'error404')); } } 而不是我正在尝试的重定向: $this->controller->layout = null; $this->controller->render('/Errors/error404'); 但我最终得到的只是一个空白页……为什么会这样?这只在进行手动例外时才会发生? 有人可以回答这两个问题吗?谢谢
我终于设法弄明白了!看看
github的代码,我已经设法让它运行起来.这是我的AppExceptionRenderer.php:
App::uses('ExceptionRenderer','Error'); class AppExceptionRenderer extends ExceptionRenderer { public function missingController($error) { $this->controller->render('/Errors/error404','layout'); $this->controller->response->send(); } public function missingAction($error) { $this->missingController($error); } } 如果你想调用你的控制器回调,你必须在beforeFilter()之前做这样的事情: $this->controller->beforeFilter(); 那个$this-> controller-> response-> send();线是踢球者.希望这适合你! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |