0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Laravel11 12】この一年近くの変更点を確認してみた

Posted at

Laravel から逃げるな。
最近 TypeScript に逃げてたけど、やっぱり Laravel だなぁと帰ってきました。

ただ Laravel12 はあんまり大きい変更は無いみたい。
なので重要そうなところをピックアップしてみました。

サポート期間

まずはサポート期間。
今の Laravel12 は 2027年の2月までとのこと。
それよりも Laravel10 はもうサポート外なのに驚愕。
Laravel のアップデートはそこまで難しくないので、早めに対応しよう。

PHP のバージョン範囲は変わってなさそう。

image.png

スターターキット

Laravel のスターターキットに Inertia2shadcn/ui が採用されたみたい。
初回構築がよりしやすくなるね。

Inertia 2

Inertia は Laravel 上で SPA を作成するためのアダプターのようなもの。
API の作成を必要としないので、爆速の開発が可能となる。
いわゆる モダンモノリス
(一方若干密結合になるので、開発方針は決めておく必要がある。)

そんな Inertia が 2024年12月 にメジャーアップデートをしていたみたい。

  • Vue2 の廃止
  • ルーティングの改善(replace, prefetch)
  • 履歴の暗号化

など、使いやすい機能を増やしてくれたみたい。

流れを見るに、今後 Laravel の中核になってくると感じるので、プロダクションへの採用も問題なさそうな所感がある。
やろうと思えば Next.jsNuxt.js への移行はそこまで苦ではない。

Carbon 3

Laravel12 から Carbon2 のサポートが削除された。

diffIn* メソッドが浮動小数点数を返すようになったらしいので、そこだけ要注意。
長期間維持するシステムには、自動テストを書いておこう...。

Validation ルールの仕様変更

image ルールから SVG が除外されたみたい。
確かに jpeg / png のファイルの中に svg を放り込まれたら困るので、正しい判断かと。
必要であればルールを改良する必要がある。

また、mergeIfMissing で dot形式 にて初期値を流し込めるらしい。
これは便利かもしれない。
dot形式 は神。

$request->mergeIfMissing([
    'user.last_name' => 'Otwell',
]);

浮動小数点のマイグレーションの仕様変更

float は float 相当、double は double 相当の絡む定義になるみたい。
以前は特に区別されなかった場合もあったりしたから、それを厳格化したみたいね。
デフォルト値を利用している場合は要注意。

個人的には float double は問題になることが多いから decimal を使うことをお勧めする。
メモリ無尽蔵、高性能CPUの時代に浮動小数点は扱いたくないのが本音。

Doctrine DBALの削除

個人的にびっくりした項目。
v5 くらいからDB操作に必須だったので、もう依存していないのかぁと。
ソフトウェアの維持を考えると外部への依存性は少ない方が良いよね。
ちょっとさびしい。

おわりに

他にもいろいろあるが、気になったのはこのへん。
デフォルトで用意されているファイル群が減ったり、Kernel の仕様が変わったりしてるけど、そのへんは過去のままで大丈夫だしね。

ドキュメントもしっかりしてるし、やっぱり Laravel だね。
適当さと堅牢さがちょうどいい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?