Laravel5.4を5.5へアップデートする入門編。PHPフレームワークは怖くない。
- Laravel
メジャーバージョンアップの時はあれがこれにこれがあれにと変更されて…アップデートした途端にエラー吐きまくってまともに動かなくなり…というのは、抱きがちな不安の種の一つです。ですがLaravelをどの程度まで深く使っているかによっては(基本MVC程度とか)案外素直にアップデート出来てしまいます。
メジャーバージョンアップの時はあれがこれにこれがあれにと変更されて…アップデートした途端にエラー吐きまくってまともに動かなくなり…というのは、抱きがちな不安の種の一つです。ですがLaravelをどの程度まで深く使っているかによっては(基本MVC程度とか)案外素直にアップデート出来てしまいます。
Laravelに限らずPHPフレームワークにて開発を進めていると、自作のhelper(ヘルパー)関数が必要になった時に、それらをどう管理していくかというのは毎回悩ましいところでもあります。今回は、機能ごとに複数のヘルパーファイルを作成しても、それを自動的にLaravelがヘルパー関数として読み込んでくれる仕組みを作りたいと思います。
LaravelにビルドツールであるWebpackを導入(Laravel Mix)して、sassやJavaScriptをビルドしたりminifyできる環境を作りましょう。sassやLessなどのCSS周り以外にも、ReactをはじめES2015・ES2016等、Babelなどのトランスパイラの必要なJSなどに対してもコンパイルが行えます。
Laravelには、Collection(コレクション)クラスというものが存在しており、配列データに対して様々な処理を行う事が出来ます。PHPでは、連想配列(多次元配列)のソート手段としてarray_intersect()という関数が有名ですが、これは純粋な連想配列にのみ有効であり、昨今のPHPフレームワークのように、取得結果にオブジェクトを含む形だとソートは行えません。Laravelの場合、こういったデータの塊に対して、簡単にソートを行う事が出来ます。
Laravelにてマイグレーション実行時にシーディングにて初期データを投入しますが、その際に、Fakerにてダミーデータを生成して登録していきます。開発時にユーザデータや商品情報などのテスト用のデータを用意する必要があった時でも、LaravelではFakerというライブラリを使えば、テスト用のフェイクデータを自動で何件でも生成してくれます。
Laravelには、「シーダクラス(初期値設定クラス)」というものがあり、データベースへ初期データを簡単に投入できます。例えば、マイグレーションでデータベースを構築し、シーディングで初期データを投入するようにしておけば、いつでもデータベースの再構築と初期データの投入までを行えます。