//Laravel LTS 5.5の新機能
Laravel LTS 5.5の新機能
Laravelのコミュニティは、新しいバージョンLaravel 5.5のリリースを待ち望んでいます。これは、Laravel 5.1が初めてのLTSバージョンとしてリリースされ、7月にサポートが終了するためです。
LTSは「Long Term Support」の略で、長期サポートを意味します。LTSバージョンは、バグ修正の更新に2年間、セキュリティ更新に3年間のサポートを提供します。LTSバージョンのサポート期間中は、Laravelのチームが継続的に更新を行い、サポートが終了した後には、次のバージョンにアップグレードする必要があります。
現在のLTSバージョン:
- Laravel LTS 5.1
- https://laravel.com/docs/5.1
- PHP > 5.6
最新のLTSバージョン:
- Laravel LTS 5.5
- https://laravel.com/docs/5.5
- PHP > 7.0
5.5での変更点:
- Headless Chromeテスト: Laravel Dusk 2.0.0に対応。
- EloquentのBelongsToManyがパラメータの順序を変更し、ピボットテーブルが使用される。
- Eloquentの$dispatchesEvents属性。
- Eloquentの$pivotParent属性。
- ソフトデリート時でも、モデルの$exists属性はtrueのまま。
- withCount(‘foo as bar_count’)関数が追加され、フィールド名にエイリアスをサポート。
- 例外の内容がJSON形式で整形されて表示される。
- Requestの便利関数の動作が変更され、has()やonly()が返す結果が変わり、intersect()関数が削除。
- request($key)関数は、’foo.bar’のようなネストされたキーを受け付けなくなり、代わりにrequest()->input($key)を使用する。
- ビューへの変数渡しにおいて、動的なビュー名が使えるようになり、view($viewName)->withMyVariable($value)の形式で渡された変数は$myVariableとして使用される。
- バリデータの関数がすべてpublicに変更され、protectedではなくなった。
- routesディレクトリが追加され、アプリケーションのルート定義は、以前のapp/Http/routes.phpではなく、この新しいディレクトリに配置される。
5.5の新しいコア機能:
- Middlewareグループ、異なる目的のために分けて使用する。
- Responsableインターフェース -> コントローラーでオブジェクトをレスポンスとしてフォーマットする。
- Ruleオブジェクト -> バリデーションルールをより柔軟にクラスで作成できるようになる。
- Pivotモデルのフィールドをキャスティングできるようになる。
- Bladeのif式にカスタムディレクティブを追加し、コードを簡潔に書けるようになる。
- Collection上でdump()やdd()を使えるようになり、アプリケーションの中断なく操作ができる。
- パッケージインストール時に、ProviderとFacadeが自動でインジェクトされる。
- Laravel 2スタイルの視覚的なデバッグエラーインターフェース。
- 新しくthrow_if()とthrow_unless()という例外を投げる関数が追加され、コードがより理解しやすくなった。
- Controller内でデータの検証が簡単に行えるようになり、検証済みのデータがすぐに返される。
- デバッグをオフにした場合のエラースクリーンが改善され、少しだけ変更が加えられた。
- 例外レポートをカスタマイズできるようになった。
- Webアプリ用のプリセットが追加され、BootstrapとVue.jsに対応。
- migrateコマンドにrefresh機能が追加され、テスト環境でDBを高速に再構築できる。
- メールテンプレートに対応し、Mailablesが利用可能。
- ブラウザでメールテンプレートをレンダリングできるようになった。
- vendor:publish実行時に使用されているProviderの確認ができる。
Nhựt Tân (tổng hợp)