独自ErrorHandlerでcomposerからインストールできるやつはbootstrap.phpにErrorHandlerを追加でregisterすることで独自ErrorHandlerを利用できる。 試し切れていないけど、new registerは複数行書くことができるので、ErrorHandlerを多種類呼び出すこともできるようだ。 それとは別に、3.4以上からMiddlewareなる概念が出てきた。ExceptionはErrorHandlerMiddlewareを通るし、その他のWarningやNoticeはErrorHandlerを通るので、例外処理について独自実装を書きたいときはErrorHandlerMiddlewareのhandleExceptionに追加で実装したらいいし、その他のWarningやNoticeについて独自実装したいときはErrorHandlerの_displayErrorに追加で実装を書けばいい。
// config/bootstrap.php <?php // web use Encount\Error\EncountErrorHandler; (new EncountErrorHandler(Configure::read('Error')))->register(); // shell use Encount\Console\EncountConsoleErrorHandler; (new EncountConsoleErrorHandler(Configure::read('Error')))->register();
// 3.4.0 or higher // src/Application.php <?php use Encount\Middleware\EncountErrorHandlerMiddleware; $middleware //->add(new ErrorHandlerMiddleware(Configure::read('Error.exceptionRenderer'))) ->add(new EncountErrorHandlerMiddleware(Configure::read('Error.exceptionRenderer')))