あるコントローラーで実行したいアクションの呼び出し前に、全体で実行しておきたいものがある場合、initialize()やbeforeFilter()というものを用意し、その中で実行したいものを記述すれば便利。

ここで特に行うことが多いのはAuthComponent(管理系)やレイアウト設定やパラメーター取得などであるが、そもそもこれらを行う前にメソッドそのものでエラーが起きることがある。

どうもcakephp3で出来てたことをそのまま4では若干違いがあり気づかず利用してエラーが起き焦るときがあるので、記録用として残す。

// initializeの場合
public function initialize(): void // このコロンとvoidがないとエラー
{
  parent::initialize(); // 親の継承を用意
}

// beforeFilterの場合
use Cake\Event\EventInterface; // 上部のnamespace 後に追記
public function beforeFilter(EventInterface $event)
{
  parent::beforeFilter($event); // 親の継承を用意
}