gpt4 book ai didi

php - CakePHP 2.1 中错误的自定义 View

转载 作者:可可西里 更新时间:2023-11-01 12:35:04 25 4
gpt4 key购买 nike

我希望为 CakePHP 2.1 中的错误创建自定义 View

我在这里阅读了以下问题:CakePHP 2.0 - How to make custom error pages?

但是有些东西没有按预期工作!

1.) 异常和错误似乎不是一回事,就好像我访问了一个虚假的 url,我得到了内置的 404 页面,但是如果我在 Controller 中手动执行未找到的异常,它将调用自定义 View ... 为什么是这样?我以为 Cake 中的所有错误都经过异常处理?

2.) 我正在尝试呈现 View 而不是实际重定向用户...例如:

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);
}
}

如果你想调用你的 Controller 回调,你必须在 beforeFilter() 之前做这样的事情:

$this->controller->beforeFilter();

$this->controller->response->send();线是踢球者。希望这对你有用!

关于php - CakePHP 2.1 中错误的自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10863997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com