Cakephp PHP WEB開発

【Cakephp4】notice: Colon prefixed route placeholders like `:foo` are deprecated

※本サイトはPR表記を含みます。

Cakephp4の Router 定義にて、例えば、以下のようにコロンを利用したプレースホルダーは非推奨ということで、noticeエラーと出くわしました。

Cakephp2ではプレースホルダーにコロンを利用していても特に問題はなかったですが、Cake4ではNoticeとなります。

エラーログレベルによってはアクセスされる度にログに出力されていくし、エラーメッセージにあるように推奨の書き方にする方がよいでしょう。

ということで、指摘されたまんまに修正するとよいです。

例: Routesでのプレースホルダがコロンだとnoticeエラー

// 修正前
$builder->connect('/hoges/:id', ['controller' => 'Hoges', 'action' => 'fuga'], ['pass' => ['id']]);

// 修正後
$builder->connect('/hoges/{id}', ['controller' => 'Hoges', 'action' => 'fuga'], ['pass' => ['id']]);

これでNoticeエラーは回避されるようになりました。

-Cakephp, PHP, WEB開発
-