CakePHP 2.1中的错误的自定义视图

我想在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();线是踢球者.希望这适合你!

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...