バックエンド

Laravel9で追加変更された12点をまとめてみた

2022年2月9日。

いよいよLaravelの時期安定版、『Laravel 9』がリリースされました。

前回の安定版『Laravel6』は2019年9月リリースだったので、

実に2年5ヶ月ぶりになります。

今回の『Laravel 9』は、

  • バグ修正が2024年2月まで
  • セキュリティ修正は2025年1月まで

ということで長期に渡り運用することになりそうです。

アオキ
注意点としては、PHP 8.0以上が必要になるので、PHP7系を使っていた場合はアップデートが必要になります。

『Laravel』ユーザーならおなじみの『Laracast』で

『Laravel 9』の追加変更点が解説されていたので、
 
備忘録も兼ねて整理することにしてみました。

LaraCast Laravel9

Laravel9で追加変更 その1 ルーティング コントローラーグルーピング

これまでルートファイルでグルーピングする時は、
グループ内で毎回コントローラ名を書いていたのですが、

Route::controller[コントローラ名]と指定することで、
まとめて1つで書くことができるようになりました。

アオキ
ルートが増えてくると同じコントローラが並ぶので、スッキリ嬉しい改善ですね。

また、php artisan route:list の表示がシンプルになってみやすくなっています。

Laravel9で追加変更 その2 マイグレーションのクラス名が匿名に

データベースのテーブルを生成する『マイグレーション』ですが、

Php artisan make:migrate で作成した時のクラス名が変更になり、匿名になりました。

アオキ
Schema::create(‘users’) の箇所でテーブル名を指定しているので、クラス名で指定する必要はないっちゃあないですかね。

Laravel9で追加変更 その3 str() ヘルパ関数

文字列関連で、
Str:: というファサードがあったのですが、
よりシンプルに書けるように、str()という ヘルパ関数が追加されました。

Laravel9で追加変更 その4 to_route() ヘルパ関数

データ保存後リダイレクトをかけたりする時に、redirectとrouteを組み合わせていたのですが、
to_route()というヘルパ関数を使うことでスッキリ書けるようになっています。

アオキ
細かい改善ですがスッキリしていいですね。

Laravel9で追加変更 その5 例外ページの改善

例外を発生させた時の画面が若干見やすくなっています。

Laravel9で追加変更 その6 Blade::render

Blade::render() の中にBladeテンプレートを直書きできるようになったそうです。

アオキ
個人的にはBladeはBladeで書きたいので使わないとは思いますが、簡単なテストなら使えるかも?

Laravel9で追加変更 その7 scopeBindings

あるユーザーが投稿した記事なら表示、それ以外なら表示しないという場合、

Laravel8まではひと手間かかっていたんですが、

Laravel9では scopeBindings() をつける事で判定をかけてくれるようになりました。

アオキ
これは地味に便利ですね。

Laravel9で追加変更 その8 テストカバレッジ

テストに追加オプションで –coverageや–minが追加され、
各ファイルの実行結果などをわかり易く表示してくれます。

アオキ
ここはXdebugの設定が必要になるので動画見てもらったほうがわかりやすいと思います。

Laravel9で追加変更 その9 Laravel Scoutでデータベース指定

全文検索ライブラリ、Laravel Scoutでデータベースも指定できるようになったようです。

アオキ
Laravel Scoutはあまり使ってなかったのでこれを気に取り組んでみます。

Laravel9で追加変更 その10 full text indexing

Laravel9で追加変更 その11 enum

EnumはPHP8.1で実装されていて、Laravel9でも実装できるようになっています。

アオキ
Enumも設定見込むならPHP8.1まで上げておかないとですね。進化が早い。。

Laravel9で追加変更 その12 アクセサー・ミューテーションがシンプルに

データベースにデータを保存時にデータを加工したり、
取り出したりする時に表示を変えたりという場合に、

アクセサー、ミューテーターという機能があります。

以前は getXXXAttribute やsetXXXAttributeというメソッドを作る必要があったのですが、
Laravel9ではget, setで使えるようになり、1メソッドでそれぞれ設定できるので
シンプルに書けるようになっています。

アオキ
PHP8の記述方法も合わせて確認しなきゃですね。

Laravel9で追加変更点をまとめてみて

Laravel8でJetStreamなど大きな変更が入ってからは、

長らくテスト、実験を経て、安定版になったのだろうと感じます。

細かい改善が多いのは、それだけ完成度が高いという事なんでしょうね。

アオキ
Laravel9のUdemy講座も頑張って作りまっせー

PHP/Laravel講座




関連記事一覧 (一部広告あり)

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


最近の記事

アーカイブ

  1. バックエンド

    【Laravel(PHP)】でできる事をわかりやすく(ざっくりと)まとめてみた【…
  2. オンライン教材

    【Vue.js】初心者向け講座をリリースしました。【Udemy】
  3. オンライン教材

    Udemy初夏ビッグセールのお知らせ
  4. オンライン教材

    【PHP/Laravel】初心者向けの動画をリリースしました【Udemy】
  5. CG関連

    【P5.js】初心者向けの動画をリリースしました(プログラミング×数学物理)【U…
PAGE TOP