修正しました。これが私がしたことです。
ADmadは、私が無限ループを作成していることを親切に指摘したので、次のことを行いました。
/**********************************
/Lib/Error/AppExceptionRenderer.php
***********************************/
App::uses('ExceptionRenderer', 'Error');
class AppExceptionRenderer extends ExceptionRenderer {
public function error400($error) {
/***********************
INSERT MY OWN MAGIC HERE
***********************/
$message = $error->getMessage();
if (Configure::read('debug') == 0 && $error instanceof CakeException) {
$message = __d('cake', 'Not Found');
}
$url = $this->controller->request->here();
$this->controller->response->statusCode($error->getCode());
$this->controller->set(array(
'name' => $message,
'url' => h($url),
'error' => $error,
'_serialize' => array('name', 'url')
));
$this->_outputMessage('error400');
}
}
また、これを/Config/core.phpに追加する必要があることもわかりました。
Configure::write('Exception', array(
'handler' => 'ErrorHandler::handleException',
'renderer' => 'AppExceptionRenderer',
'log' => true
));
コンポーネントを含める場合、ADmadを引用するには:
「例外レンダラーには、CakeErrorControllerのインスタンスであるコントローラーへの参照があります。$ this-> controller-> Components-> load()を使用してコンポーネントをロードします。」