是否可以在错误页面上使用 AppController? (Cakephp 3.1)

Is it possible to use AppController on error pages? (Cakephp 3.1)

我正在尝试呈现错误模板(例如 error400.ctp),但默认布局(站点页眉和页脚)依赖于 AppController 中设置的组件和变量。我如何告诉 Cake 在呈现错误页面时使用 AppController?

我已经尝试制作一个扩展 AppController 的 ErrorController,但它会因缺少操作而中断。

这是我的工作 ErrorController,以防有人来找它:

<?php
namespace App\Controller;

use App\Controller\AppController;
use Cake\Event\Event;

class ErrorController extends AppController
{

    public function beforeRender(Event $event)
    {
        parent::beforeRender($event);
        $this->viewBuilder()->templatePath('Error');
    }

}

我的一个组件在 AppController 中加载时出现错误。当 ErrorController 扩展 AppController 并尝试访问控制器中的无效操作时,它会创建 AppController 的两个实例,在我的例子中,由于我的组件中的错误而引发了 class 错误的重复声明。此错误导致某种循环导致错误页面无法呈现。