メシのタネ

メシのタネになる、Laravelや設計思想の技術配信サイト


Laravel 12 アップグレード:コードを変えず未来へ進む静かな革命


  1. Laravel
  2. Laravel 12 アップグレード:コードを変えず未来へ進む静かな革命

日の出より早く、composer update のキーボード音が鳴った。
今日はコードを 1 行も触らずに、未来へジャンプする日だ。

というわけで、今日は出勤前にさっさと読めるLaravel12のニュース書いていきます。
ニュース記事としてお楽しみください。筆者が出勤前Blog投稿RTA挑戦中。

注:本記事は紹介記事ですが、Upgradeの参考になる記事は以下に用意してます!

👉️ 負債プロジェクトを実際無理やり移行するとどうなるのか → Laravel6→12 負債博物館を現代基盤へ移行してみた

👉️ 新機能紹介記事(testコードあり)は → Laravel12公開API実践リファレンス!21の新機能でDXを加速させろ!

👉️ 実際の構築手順はこちら → Laravel 12 時代のBlade開発:Breeze卒業から始めるLivewire Kit入門

☀️ Laravel12へのアップグレードはお手軽だというニュース

静かで、壊れない。けど、確実に一歩前へ。

  • 🗓 リリース日:2025‑02‑24(Laravel Blog)
  • 🛠 PHP 要件:8.2 – 8.4(変更なし)
  • 🔍 コア差分git diff --stat v11.3.0 v12.0.0 → 変更の 9 割が vendor/

Laravel 12 is primarily a housekeeping release.
Laravel Blog, 2025‑02‑21

📈 Laravel 12 アップグレードのメリット(数字で納得)

CI がグリーンに戻る時間が 60 秒縮む(当社 GitHub Actions / t3.medium での実測例) ✅
📅 LTS +6 ヶ月(11: 2026‑08 → 12: 2027‑02) ✅
🧑‍🏫 社内教育コスト:0 円 ─ 新機能研修は不要 ✅
📦 コード変更:ゼロcomposer update してテストパスすれば完了 ✅

Because of that, the vast majority of applications will be able to upgrade with no changes to your application’s code.
Laravel News, 2025‑02‑24 🚀

🎨 Starter Kit:刷新された UI、でも選ぶのはあなた

⚠️ Jetstream / Breeze は “廃止” ではなく “アップデート停止”
既存プロジェクトはそのまま動くが、新機能は提供されない。
「バグ fix は自己責任」「新規案件は新 Starter Kit 推奨」を忘れずに。

  • ✅ React / Vue / Livewire + shadcn / Flux UI
  • ✅ WorkOS AuthKit(無料で 100 万 MAU 対応)
// Livewire starter (一部抜粋)
use Livewire\Volt;

Route::get('/', Volt::mount('welcome'));
たねまる

保守派にも優しいせっけいだね〜。

Breezeでのやり方は、ちょっと古いが流れは参考になる記事があります。

👉️ マジで爆速!Laravelエンジニアになる方法はこれしかない(無料)

胡散臭さマックスですが、タイトルの割に普通ですので安心してください。

🚧 Laravel 12 アップグレード手順(3 STEP)

# 🚧 0. 旧 lock ファイルと差分だけ確認
composer update --dry-run laravel/framework

# 1. 一括アップデート
composer require laravel/framework:"^12.0" --update-with-all-dependencies

# 2. テスト実行
php artisan test

# 3. キャッシュ & プロセス再起動
php artisan config:cache
php artisan queue:restart

圧倒的手軽さ。びびる。

🚨 お手軽Laravel12 アップグレード前チェックリスト

チェック項目Why 気をつける?ワンポイント対策
PHP 8.2 以上?8.1 は門前払いphp -vbrew install php@8.2
Carbon 3 系へ2.x は Laravel 12 非対応 → Date/Datetime casts も Carbon 3 に置換が必要composer require nesbot/carbon:^3
Eloquent 日付キャストCarbon 2 依存の protected $dates 実装が影響protected $casts に移行 or Carbon 3 型
PHPUnit 11 / Pest 3古い test syntax が落ちるcomposer require --dev phpunit/phpunit:^11pest --upgrade
Jetstream / Breeze カスタム?今後アップデートなし。現状維持か、新キット移行を検討
古いパッケージ pin依存衝突の元composer outdated --direct で健診を

💡 composer update --dry-run を活用して「何が変わるか」を目視しよう。

Sometimes the best change is no change.
— Taylor Otwell, X (2025‑02‑21)

🎉 まとめ:静かに → 速く → 安心。Laravel 12、もう入れた?

変わらないって、こんなに嬉しい。

  • コード修正:ほぼ不要(テストコードは除く) ✅
  • LTS 延長:+6 ヶ月 ✅
  • UI:必要なら選べばいい ✅
  • リグレッション:報告ゼロ ✅

👉️ 実際の構築手順はこちら → Laravel 12 時代のBlade開発:Breeze卒業から始めるLivewire Kit入門

FAQ

Laravel 12 の新UIを体験したい!どこから始めれば?

Laravel 12 時代のBlade開発:Breeze卒業から始めるLivewire Kit入門 で是非体験してください!

Laravel 12 のPHP要件は?

PHP 8.2 以上必須(8.1 はサポート外)。8.1で詰まったら速やかに8.2+へアップしましょう。

古いパッケージや依存の衝突が不安です…

composer outdated –direct で依存の健康診断
古いパッケージは固定せず積極的に更新がベスト

Laravel12で学び直しは必要?社内研修コストは?

Laravel 12は「破壊的変更」なし、Carbon 2 → 3で「APIが激変する」ことはない。
Blade/Controller/Model/Service/Request周りに変更はない認識です。

Laravel12の新機能って何があるの?見てみたいんだけど!

新機能紹介は Laravel12公開API実践リファレンス!21の新機能でDXを加速させろ! このページがおすすめです!テストコードもついてるので動かしながら学べます🧘


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください