基于此处的信息:使用带有 Exception.renderer 的自定义渲染器来处理应用程序异常
我正在创建一个以 XML 格式呈现的自定义错误渲染器。
下面是 app/Lib/Error/AppExceptionRenderer 中渲染函数的示例代码:
public function render() {
if (isset($this->controller->request->params['xml'])) {
$this->controller->viewClass = "MyXml";
$error = array(
'app' => array(
'error' => 'An unexpected error has occured.'
)
);
$this->controller->set('error', $error);
$this->controller->set('_serialize', 'error');
}
}
然而,没有任何回报。我在这种if
情况下做了一些回声,这表明了。
那么是不是因为 viewClass 在 AppExceptionRenderer::render() 阶段没有初始化?
也没有错误。
“MyXml” viewClass 在普通控制器中也能完美运行。