php-migration
Installation
SKILL.md
PHP バージョン移行ガイド(baserCMS)
PHP のバージョンアップで遭遇した非推奨・破壊的変更と修正レシピ集。バージョン別に整理して育てる。CakePHP フレームワーク本体起因の問題は別スキル cakephp-migration を参照。
収録: PHP 8.2 / 8.4 / 8.5。新バージョン対応時は新しい「## PHP X.Y」節を追記する。 注意: PHP 8.5 は 9.0 の直前バージョン。9.0 で非推奨機能はすべて削除されるため、8.5 で出る非推奨警告は早めに潰しておく。
大原則
- 「致命的エラー」と「非推奨警告」を区別する。デバッグモードでは非推奨警告が画面下部に表示され「エラー」に見えるが、
logs/debug.logにdebug:で出るものは警告(動作は継続)。Fatal/Exception が本当のエラー。 - regression と既存failを切り分ける。
git diff HEAD -- <file>で当該ファイルが自分の変更対象か確認。 - 親クラスのシグネチャを変えたら、子クラス・インターフェースも揃える。
- 全非推奨の網羅検出には Rector 等の静的解析が有効。
ユニットテストの実行方法・構文チェック・失敗の切り分けは
basercms-unittestスキルを参照。php -l(構文チェック)では暗黙nullable等の非推奨警告も併せて出る。