🥴

CakePHP4.4.3で起動時に表示されたエラー文の解消方法。

2022/08/04に公開

はじめに

CakePHPで新しいライブラリを試すためにインストールして最初の画面を表示させたときに以下のエラーが表示されました。

Deprecated: Use of `BaseErrorHandler` and subclasses are deprecated. Upgrade to the new `ErrorTrap` and `ExceptionTrap` subsystem. 
See https://book.cakephp.org/4/en/appendices/4-4-migration-guide.html C:\xampp\htdocs\csv_sample\config\bootstrap.php, 

エラー文を実際に読んでみると、BaseErrorHandlerが非推奨になって、新しくErrorTrapExceptionTrapが推奨になっている様子。

Cookbookを確認してみる

エラー文に記載のあるURLにアクセスして、ErrorHandler&ConsoleErrorHandlerの項を読んでみました。
すると、以下の記載あり。

ErrorHandler と ConsoleErrorHandler クラスは、非推奨となりました。
これらのクラスは、新しい ExceptionTrap と ErrorTrap クラスに置き換わりました。
やはり、推奨が変更になっている様子。

なのでconfig/bootstrap.phpを以下のように変更

+ use Cake\Error\ErrorTrap;
+ use Cake\Error\ExceptionTrap;
if($isCil) {
- (new ConsoleErrorHandler(Configure::read('Error')))->register();
+ (new ErrorTrap(Configure::read('Error')))->register();
} else {
- (new ErrorHandler(Configure::read('Error')))->register();
+ (new ExceptionTrap(Configure::read('Error')))->register();

確認するとエラーは消えていました。

おわりに

今回はエラー文の中にヒントがあったので、時間をかけることなく解消することができました。
誰かの助けになれば幸いです。

Discussion