Laravel 11から12への変更点とアップデート方法【注目の新機能まとめ!】

2025年2月、人気のPHPフレームワークであるLaravelが11から12へとメジャーアップデートされました。本記事では、Web制作会社のクーシーがLaravel 12の新機能やアップデート方法をご紹介します。
その前に少しだけ。「Laravelって何?」「そもそもフレームワークって?」と疑問に思われる方もいらっしゃることでしょう。そこで最初にごく簡単にLaravelやPHPフレームワークについてご紹介します。
PHPフレームワーク「Laravel」とは?
フレームワークとはWeb上のアプリケーションを効率的に構築するための共通部品やルールがまとまった「開発の土台」のようなものです。中でもLaravelは、広く使われているプログラミング言語のPHPをベースに、Webサイトやシステムが快適かつ安全に動作するための基盤を提供してくれます。まるで「縁の下の力持ち」のように、開発をサポートしてくれる存在です。
このような技術は日々進化しており、その最新トレンドを把握し続けることが、より良いWebサイト制作には不可欠です。クーシーは、こうした見えない部分の技術動向にも注目し、お客様のプロジェクトに最適なご提案ができるよう努めています。
Laravel 12の新機能は?
さて、ここからは、Web開発の現場で役立つLaravel 12の具体的な変更点を見ていきましょう。
Laravelは、PHPフレームワークの中でも特に人気が高く、最新の技術トレンドも取り入れ、開発者にとって使いやすい開発環境の構築をサポートしてくれます。
Laravelのメジャーバージョンは、例年1月から3月頃にリリースされます。今回ご紹介するLaravel 12は、2025年2月24日に公開されました。このバージョンは、主にパフォーマンスの向上やセキュリティの強化といった「メンテナンス」に重点を置いたアップデートとなっています。そのため、一見すると派手な新機能は少ないかもしれませんが、日々の開発作業をよりスムーズにし、質を高めてくれるような改善点が多数盛り込まれています。
それでは、具体的にどのような新機能があるのか、いくつかピックアップしてご紹介します。
最新スターターキットを導入
Laravel 12では、アプリケーション開発の初期設定を大幅にスピードアップする、新しいスターターキットが導入されました。これにより、認証機能の組み込みやモダンなフロントエンド環境(React、Vue、Livewireなど)のセットアップにかかる時間を大きく削減できます。
人気のUIコンポーネント集であるShadcn/ui(React/Vue向け)やFlux UI(Livewire向け)も採用されており、洗練されたUIを素早く構築可能です。さらに、WorkOSとの連携により、ソーシャルログインやシングルサインオン(SSO)といった複雑な認証機能も、わずかな手順で実装できるようになりました。
並列処理と内部動作の改善
Laravel 12では、複数の処理をより効率的かつ確実に扱えるように、並列処理(Concurrency)機能が強化されました。例えば、Concurrency::run() メソッドが結果を返す際にキー情報を保持するようになり、並列タスクの管理がしやすくなりました。また、サービスコンテナによる依存オブジェクトの自動作成時の挙動がより予測可能になったり、複数スキーマを持つデータベースの情報を取得する際の扱いが統一されたりと、フレームワーク内部の細かな動作も改善され、開発体験とアプリケーション内部の信頼性や整合性の向上に貢献しています。
動作変更:UUID、リクエスト処理、検証ルールなど
日々の開発でよく使われる機能にも、一貫性とセキュリティを高めるための重要な変更が加えられました。
-
UUIDの標準化
モデルIDなどで使われるUUIDは、時系列でソートしやすくデータベース効率も良い「UUIDv7」がデフォルトで生成されるようになりました。従来のUUIDv4形式(順序付き)を利用したい場合は、HasVersion7Uuidsトレイトが削除されたため、HasVersion4Uuids トレイトに切り替える必要があります。
-
リクエストデータのマージ
HTTPリクエストの入力値を扱う「$request->mergeIfMissing()」メソッドが、ネスト(階層構造)された配列データを「ドット記法」でより直感的にマージできるようになりました。
-
画像検証ルールの変更
セキュリティ向上のため、画像ファイルの検証ルールにおいて、デフォルトでSVG形式の画像が許可されなくなりました。SVGを扱いたい場合は、明示的に許可する設定が必要です。
Laravel 11.xから12.xへのアップグレード
Laravelアプリケーションのアップグレードは、手順をしっかり踏めば決して難しいものではありません。現在Laravel 11をご利用で、Laravel 12の新機能に関心をお持ちの方は、ぜひ以下のステップを参考にアップグレード作業を進めてみてください。
ステップ①プロジェクトのバックアップ
何よりもまず、アップデート作業を始める前に、必ずLaravelプロジェクト全体のバックアップを取得してください。データベースのエクスポート、プロジェクトファイルのコピー(安全な場所への保存)、そしてGitなどのバージョン管理システムを利用したコミットなどが基本的なバックアップ手順です。万が一、アップグレード中に問題が発生した場合でも、このバックアップがあれば容易に元の状態へ復元できます。
ステップ②Composerの依存関係を更新する
次に、プロジェクトの依存関係を管理するComposerの設定を更新します。
-
PHPバージョンの確認
Laravel 12はPHP 8.2以上が必要です。事前にご利用の環境が要件を満たしているかご確認ください。
-
Composerの確認と更新
最新バージョンのComposerを利用していることを確認し、必要であれば「$ composer self-update」のコマンドでComposer自体をアップデートします。
-
composer.jsonの編集
プロジェクトルートにある composer.json ファイルを開き、以下の点をLaravel 12に合わせて修正します。なお、プロジェクトでテストフレームワークを使用している場合は、phpunit を ^11 に、pest を ^3 にそれぞれ変更してください。
- "require": {
- "laravel/framework": "^12.0",
- // PHPUnit を使用している場合:
- "phpunit/phpunit": "^11.0",
- // または Pest を使用している場合:
- "pestphp/pest": "^3.0",
- },
編集後、以下のコマンドを実行して、プロジェクトの依存パッケージを更新します。
$ composer update
利用している他のサードパーティ製パッケージがLaravel 12と互換性があるかを確認し、必要に応じて各パッケージのドキュメントに従い修正・アップデートを行ってください。
ステップ③非推奨メソッドと変更点のチェック
非推奨のメソッドや変更点を確認するための完全なガイドについては、「Laravel 公式アップデート ガイド」を参照してください。
ステップ④設定ファイルの更新
設定ファイルをアップグレードする場合、バックアップを作成せずに既存の設定ファイルを上書きするのは危険です。意図しない変更を防ぐため、git diffなどのツールを使用して、現在の設定ファイルとLaravel 12を新規インストールした際の設定ファイルを比較することをおすすめします。
まず、laravel newを使用して新しいLaravel 12プロジェクトを作成し、そのconfigディレクトリとプロジェクトのconfigディレクトリを比較して、差分を洗い出します。
Laravel 12で新たに追加された設定項目や変更された箇所を特定し、手動でマージしていきます。この際、既存のカスタマイズ内容は保持するように注意してください。更新後、$ php artisan config:clearを実行して設定キャッシュを更新してください。
ステップ⑤ローカルで実行してテストする
アップデートの手順が完了したら、いよいよアプリケーションを起動してLaravel 12の動作を確かめます。
下記コマンドでローカルの開発サーバーを起動ください。これで主要な移行作業は完了です。
$ php artisan serve
ブラウザでアプリケーションにアクセスし、主要な機能が一通り正しく動作するかを十分にテストしてください。エラーログなども確認し、問題があれば修正対応を行います。
Laravel 12が示す、より堅牢で快適な開発環境
Laravel 12は、目を引くような派手な新機能が前面に出ているわけではありませんが、開発の現場に堅実な恩恵をもたらしてくれるものです。今回のアップデートには、パフォーマンスの向上、セキュリティの強化、そして何より開発者自身の作業効率を高めるための細やかな配慮が施されました。
さらに、今回のアップデートにより、従来の開発環境の改善が施されながらも、最新の技術トレンドにもキャッチアップする体制が整いつつあります。毎年着実に良質な改良を重ねることで、PHPという言語、そしてLaravelエコシステム全体が、変化の速いWeb開発の世界で競争力を保つ基礎を築いてくれています。
もしあなたがLaravel 12へのアップグレードを検討されているなら、今こそその一歩を踏み出す絶好のタイミングかもしれません。Laravel 12は、みなさんのプロジェクトを新たなステージへと導く、信頼できるパートナーとなるはずです。
私たちクーシーは最新の技術をキャッチアップして、Webサイトでみなさまの課題解決に貢献します。無料で相談を承っているので、お気軽に下記のお問い合わせフォームからご連絡ください。
お問い合わせはこちらから
Web制作デザイン、丸ごとお任せ
お問い合わせする
テキスト:パウン デザイン:ピョータント