あるコントローラーで実行したいアクションの呼び出し前に、全体で実行しておきたいものがある場合、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); // 親の継承を用意
}