🦔

Laravel6から9への移行:追加機能調査

2022/06/11に公開

Laravel6から9へ移行することになったので、基礎的な調査として、それらバージョン間の追加機能について調査した。

注意

Laravel歴数ヶ月の人間がざっくり興味を持った点を一部ピックアップしているのみです。正確な情報はリンクしている公式リファレンスなどをご確認頂きますよう。

Laravel

7.x

Release Note

  • Route
    • ModelBindingにてid指定以外のカラムを指定可能に
  • Model
    • Eloquentモデルのプロパティキャストの挙動を実装可能に
  • Facade
    • メールドライバの複数対応
    • HTTPクライアントファサード
    • キューでの例外発生時の再試行回数指定が可能に
  • Middleware
    • CORSサポート
  • Artisan
    • php artisan testコマンドの追加
  • 追加システム
    • Laravel Sanctum:SPA等のための軽量認証システム

8.x

Release Note

  • Facade
    • Busファサードのジョブバッチ機能
    • RateLimiterファサードのリクエストレート制限機能
    • Queueにcatchが追加
  • DB
    • Migrationファイルの圧縮
  • Blade
    • Tailwindペジネーション
  • Test
    • ModelFactoryクラス
    • 時間テストのヘルパー
  • 追加システム
    • Laravel Jetstream:新Scaffoldシステム
  • その他
    • メンテナンスモードのアクセス方法の変更

9.x

Release Note

  • Route
    • Enumを用いた暗黙的ルート結合
    • ルートグループ内の共通コントローラを指定可能に
  • Model
    • アクセサとミューテタの改善
    • Enumへのキャスト
  • Facade
    • Symfony Mailerの採用
    • StorageファサードのFlySystem3.xサポート
  • Request
    • ネストされた配列のバリデーション改善
  • DB
    • フルテキストインデックスの生成
  • Blade
    • Checked/Selectedディレクティブ
    • Bootstrap5ページネーション
  • Artisan
    • テストカバレッジの対応
  • 追加システム
    • Laravel Scout:全文検索エンジン
    • Soketiサーバ:WebSocketサーバ
  • その他
    • Ignition例外ページの変更
    • コレクションのジェネリクス型定義対応

まとめ

主にうれしいと思ったこと。

  • RouteやModelでのEnum利用
  • php artisan testコマンド
  • ModelFactoryクラス
  • 時間テストのヘルパー
GitHubで編集を提案

Discussion