##はじめに
当方、フリーでPHPエンジニアをやっています。
最近Laravelのvar5.2からvar6にバージョンアップするプロジェクトに携わる機会があり、そこで得た経験を大雑把ではありますが、まとめてみました。
これからバージョンアップを計画している方に少しでも参考になれば幸いです!
尚、テストコードの実装があまりさせていない環境でのバージョンアップでしたが、ちゃんとテストコードを書いている場合は、テスト回して確認する事をおすすめします!
基本的には公開されているアップデートガイドを見て進めるのが良いです。
##確認する事
- サーバー
- laravelのドキュメント、サーバー要件を確認
- mysql
- バージョン確認する
- PHP
- バージョン確認する
- PHPライブラリ
- バージョンアップ後も動くか確認。ライブラリのバージョンを上げなければいけない時、既存のシステムが正常に動くか確認
- ライブラリによってLaravelのバージョンアップ後、サポートしてない可能性もある為、注意が必要
- laravelのヘルパー関数
- 飛び級のバージョンアップ時はだいぶ内容も変わっているので使っている際は注意が必要
- collection
- メソッドの内容の変更、廃止されたメソッドなど
- Eloquent クエリビルダ
- Eloquentの方が採用率は高いかもしれませんが、混合で使用していたりする場合は両方注意が必要
- jobs failed_jobsテーブルの変更
- 5.3からjobsとfailed_jobsのテーブル構成に変更が入っています
- Laravel Mix
- css、jsの圧縮をされている際はバージョン確認
- セッション
- 5.3からコンストラクタでセッションにアクセスできなくなってます
- インスタンス化
- 今はDIを使っている所も多いかと思いますが、appでインスタンス化していて変数を渡している場合、キーを指定して渡して上げないとエラーになります
- Log
- 飛び級のバージョンアップの場合、機能も充実して設定方法も変わっているので、注意が必要。slack等にエラーログ飛ばしている場合など。
- vender配下をオーバーライドしている場合
- 私が携わったプロジェクトで一番ネックだった所です。あまりしないかもしれませんが、セッションやauth
、その他vender配下のメソッドをオーバーライドして独自に処理を加えている場合、基本的に機能しないと考えておいた方が良いです。
- 私が携わったプロジェクトで一番ネックだった所です。あまりしないかもしれませんが、セッションやauth
プロジェクトによってはまだまだ確認する所もあるかと思いますが、システムを良く理解している方と相談して進めていくと良いです!
##バージョンアッププロジェクトを走らせる前に
注意事項をリストアップしておくと良いです。
例えば、PHPのバージョンアップが必要でPHP関数を普段良く使っている場合、非推奨になっている関数等ありますので、そういったリストと、修正内容を統一するために、補填としてどういった対応が必要か残しておくとチームとして動きやすくなります。
また、必要作業もリストアップしておくのをおすすめします。
##最後に
テストコードを普段から書いておくとバージョンアップも楽です!