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?

【2026年2月】Laravel/PHP 今月のまとめ|公式AI SDK登場とコア12.50〜12.53、注目パッケージ総ざらい

0
Posted at

2月の Laravel は、AI 機能をフレームワーク標準として組み込む公式 AI SDK が発表された月だった。複数プロバイダを一貫したインターフェースで扱え、1行でモデルを切り替えられる。コアは 12.50 から 12.53 まで4リリース。コレクションの hasMany()、通知の afterSending()Cache::funnel() による同時実行数制限などが入った。あわせて Statamic 6、NativePHP for Mobile の無料化、FrankenPHP v1.11.2、Livewire v4.2、Filament 5.2 とメジャーリリースも続いた。

出典はすべて Laravel News の各記事。バージョン番号やメソッド名は原文に合わせている。

TL;DR

  • 公式 AI SDK が登場。Anthropic、Gemini、OpenAI、ElevenLabs などを1行で切り替えられ、テキスト、画像、音声、埋め込み、ベクトルストア、Web検索を1つのパッケージで扱える。組み込みのフェイクでテスト可能。
  • コアは 12.50〜12.53。コレクションの hasMany()、通知の afterSending()、Validator の whenFails()Cache::funnel() による同時実行数制限などが目立つ。
  • メジャーが豊作。Statamic 6(Vue 3 / Inertia.js / Tailwind v4)、NativePHP for Mobile の無料化、FrankenPHP v1.11.2、Livewire v4.2、Filament 5.2。
  • AI とエージェント関連が一段と濃く、Nightwatch MCP、Laravel Skills、Markdown for Agents、Laravel Boost v2.2.0 が同月に揃った。
  • Laravel 13 は2026年3月リリース予定。PHP 8.3 必須化、属性ベース設定、Cache::touch() が予告された。

今月の目玉:公式 AI SDK(複数プロバイダ対応)

Laravel が公式の AI SDK を発表した。現在は Laravel 12.x のドキュメント に掲載されており、AI を活用した機能を Laravel アプリに直接組み込みやすくすることを狙う。アプリを単一ベンダーに縛らず、一貫したインターフェースの背後で複数の AI プロバイダをサポートする設計だ。

この AI SDK で Laravel 開発者は次のことができる。

  • ツール、メモリ、構造化出力、ストリーミングを備えたエージェントを構築でき、それらはすべて組み込みのフェイクでテスト可能。
  • Anthropic、Gemini、OpenAI、ElevenLabs など、1行のコードでモデルを切り替えられる。
  • スマートなフォールバックがレート制限や障害を自動的に処理する。
  • 1つのパッケージで、テキスト、画像、音声、文字起こし、埋め込み、リランキング、ベクトルストア、Web検索、ファイル検索を扱う。

公式にサポートされた経路で AI 機能を追加でき、Laravel エコシステムの中に完全に留まったまま実装できる点が大きい。詳細は laravel.com/ai で確認できる。この AI SDK は、3月の Laravel 13、5月の AI SDK サブエージェント対応へと続く起点になった。

Laravel コアの進化(12.50 → 12.53)

12.50:hasMany() コレクションメソッド

Laravel 12.50.0 は、条件に一致する要素がコレクションに複数あるかを確認する hasMany() を追加した。ちょうど1件の一致を確認する hasSole()(v12.49.0 で導入)の逆に当たる。

// Check if collection has multiple items
$collection->hasMany();

// With a callback filter
$users->hasMany(fn ($user) => $user->isActive());

// With key/value pair
$orders->hasMany('status', 'pending');

// With operator syntax
$products->hasMany('price', '>=', 100);

あわせて、キュー投入リスナーの ShouldBeUnique / ShouldBeUniqueUntilProcessing 対応、Cache ファサードの型付きゲッター(Cache::integer() / string() / boolean() / float() / array())、API レスポンス向けに追加属性を取り除く withoutAppends()Support\Uriauthority() も入った。

12.51:通知の afterSending()、Validator の whenFails()、MySQL タイムアウト

Laravel 12.51.0 は、各チャンネルでの送信後に実行される通知の afterSending を追加した。専用の NotificationSent リスナーを登録せずに、送信後のロジックを書ける。

public function afterSending($notifiable, $channel, $response)
{
    $this->booking->update(['notified_at' => now()]);
}

Validator には、HTTP リクエストサイクル外(Artisan コマンドやキュージョブ)で有用な whenFails() / whenPasses() が加わった。

Validator::make(
    ['file' => $file],
    ['file' => 'required|image|dimensions:min_width=100,min_height=200']
)->whenFails(function () {
    throw new InvalidArgumentException('Provided file is invalid');
});

さらに、MAX_EXECUTION_TIME ヒントを使う MySQL の timeout()firstOrCreate / createOrFirst でのクロージャによる遅延評価、BatchCancelled イベント、Response の withoutHeader() などが入った。

12.52:ファクトリの makeMany()

Laravel 12.52.0 は、保存せずに複数のモデルインスタンスを生成する makeMany() を追加した。createMany() の対になるメソッドだ。

// Create multiple unsaved instances
$users = User::factory()->makeMany(3);

// Equivalent longhand
$users = User::factory()->count(3)->make();

afterMaking / afterCreating のコールバックを呼び出し単位でスキップする withoutAfterMaking() / withoutAfterCreating()local ドライバーでの temporaryUploadUrl() 対応、競合状態を防ぐ Blade コンパイラのアトミック書き込み、クロージャを例外トレースに正しく表示する改善も含まれる。

12.53:Cache::funnel() による同時実行数制限

Laravel 12.53.0 は、ロック対応の任意のキャッシュドライバ(array、file、database、Redis)で使える Cache::funnel() を追加した。これまで同時実行数制限は Redis::funnel() に依存し、Redis 接続が必要だった。

Cache::funnel('payment-processing')
    ->limit(3)
    ->releaseAfter(60)
    ->then(
        fn() => processPayment(),
        fn() => 'Currently at capacity'
    );

limit() で同時実行の最大数、releaseAfter() で自動解放までの時間、block() で待機の最大時間を指定する。ドライバがロックを未対応なら BadMethodCallException、failure コールバックなしでタイムアウトすると LimiterTimeoutException が発生する。あわせて、イベントの dispatch() / broadcast() の名前付き引数対応、事前計算済み tsvector 列向けの whereFullTextvector オプション(PostgreSQL)、php artisan down のオプションその場更新も入った。

コア早見表

バージョン 目玉 種別
12.50 コレクションの hasMany() / 型付きキャッシュゲッター / ShouldBeUnique リスナー 機能追加
12.51 通知の afterSending() / Validator whenFails() / MySQL timeout() 機能追加
12.52 ファクトリ makeMany() / withoutAfter* / Blade のアトミック書き込み 機能追加
12.53 Cache::funnel() / イベントの名前付き引数 / whereFullTextvector 機能追加

次のメジャー Laravel 13 は2026年3月リリース予定で、最低要件が PHP 8.3 に上がる。クラスプロパティの代わりに属性で設定を書ける(非破壊的変更)。

#[Table('users', key: 'user_id', keyType: 'string', incrementing: false)]
#[Hidden(['password'])]
#[Fillable(['name', 'email'])]
class User extends Model {}

値の取得や再保存をせずにキャッシュの TTL を延長する Cache::touch() も追加される。Redis では EXPIRE、Memcached では TOUCH、データベースドライバーでは UPDATE を1回発行する。

注目パッケージ(テーマ別に厳選)

AI・エージェント

公式 AI SDK と並んで、エージェント前提の運用ツールがまとまって出た。

  • Nightwatch MCP:Laravel アプリと統合する Model Context Protocol サーバー。AI エージェントに豊富なランタイムコンテキストを渡し、ログやコードパスを手で追わずにエラーを調査できる。Laravel Boost 利用中なら composer updatephp artisan boost:install で導入できる。
  • Laravel Skills:LaravelとPHP向けの再利用可能な AI エージェントスキルのオープンディレクトリ(skills.laravel.cloud)。Claude Code、Cursor、Windsurf、Copilot などで動作し、npx skills add <owner/repo> の1コマンドで入る。コミュニティ投稿型。
  • Laravel Cloud の Markdown for Agents:HTTP コンテンツネゴシエーション(Accept: text/markdown など)で、AI エージェントには Markdown、人間には HTML を返す。トークン削減と理解度向上に効く。
  • Laravel Boost v2.2.0:Composer / npm の vendor パッケージからもスキルとガイドラインを自動で解決し読み込めるようになった。優先順位はプロジェクト、Composer、npm、ビルトインの順。
  • Chief:作業を個別タスクに分解して反復実行する CLI。各タスクを新しいコンテキストウィンドウで走らせ、単一セッションのコンテキスト上限を回避する。

セキュリティ・データ保護

  • Laravel File Encryption:AES-256-GCM 認証付き暗号化でファイルを設定可能なチャンク(既定64KB)に分割処理する。PHP のメモリを超える大容量ファイルもストリーミングで暗号化と復号ができ、進捗コールバックやキーローテーション、改ざん検知に対応する。
  • Laravel Attribute MaskHasMaskedAttributes トレイトで、取得時にメールや電話番号を自動マスクする。元の値は getOriginal() で取得でき、マスク文字や桁数は設定ファイルで変えられる。
  • PHP Passphrase:EFF の long word list から単語を組み合わせ、安全かつ覚えやすいパスフレーズを生成する。Passphrase::generate()"unadvised-stubble-squid" のような値を返す。一時パスワードやリカバリコードに向く。

Eloquent・データベース

  • Laravel Related Content:ベクトル埋め込みと PostgreSQL の pgvector で、キーワードではなく意味でモデル間の関連コンテンツを自動リンクする。保存時に事前計算し、取得は通常クエリで済む。OpenAI と Ollama に対応。
  • Parental:Tighten 製。親に HasChildren、子に HasParent を付けて、Eloquent に単一テーブル継承(STI)を導入する。become() で型を動的に切り替えられる。
  • Spatie Laravel PDF v2:Browsershot、Cloudflare、DomPdf、Gotenberg をドライバとして切り替えられるようになった。saveQueued() でのキュー経由生成や PDF メタデータ設定にも対応。

UI・開発支援

  • Filament v5.2.0:フォームで情報を強調する Callout コンポーネント、モバイル向けのテーブル行スタック表示、親モーダルに重ねる overlayParentActions()、チャートの遅延フィルター、テナント切り替えの無効化を追加した。
  • Blaze:Livewire チーム製の Blade コンパイラ。既存テンプレート無改修のドロップイン置き換えで、最適化コンパイラ、メモ化、コンパイル時フォールディングの3段階で描画オーバーヘッドを最大97%削減すると謳う。組み込みプロファイラ付き。
  • Laravel VS Code 拡張 v1.5.0:Livewire 4 の解析を強化し、Livewire の #[Prop] と Blade の @props の補完を追加した。
  • Svelte + Inertia スターターキット:React / Vue / Livewire に並ぶ公式スターターキット。Svelte 5 + Inertia 2、Tailwind、Fortify 認証、SSR に対応。
  • Nimbus:アプリ内にブラウザ内 API クライアントを追加する Postman 代替。ルートとバリデーションの自動検出、ロールバックできるトランザクションモードを備える。
  • Spatie Laravel Screenshot:Browsershot や Cloudflare Browser Rendering を使い、Web ページのスクリーンショットを撮る。OG 画像生成やビジュアル回帰テストに使える。
  • Laravel OpenAPI CLI:Spatie 製。OpenAPI 仕様から各エンドポイント用の Artisan コマンドを自動生成する。認証やキャッシュを fluent に設定でき、Laravel Zero と相性がよい。

今月のトレンド3つ

1. AI とエージェントを Laravel 標準で扱う流れ。 公式 AI SDK を中心に、Nightwatch MCP、Laravel Skills、Markdown for Agents、Laravel Boost v2.2.0 が同じ月に揃った。AI エージェントを人間ユーザーと並ぶ消費者として扱う前提が、フレームワーク側に取り込まれつつある。

2. メジャー製品のモダンスタック移行とパフォーマンス。 Statamic 6 が Vue 3 / Inertia.js / Tailwind v4 へ刷新され、FrankenPHP は Go 1.26 化で GC と CGO を高速化した。Blaze は Blade の描画オーバーヘッドを無改修で削減する。実行基盤と描画の両方で速度が話題になった。

3. セキュリティとデータ保護の強化。 Livewire v4.2 が7件のセキュリティ強化を実施し、Statamic 6 は2FAやパスキーを追加した。AES-256-GCM のストリーミング暗号化や取得時の属性マスクなど、機密データを安全に扱うパッケージもそろった。

その他の新着

  • NativePHP for Mobile が無料化:NativePHP Air をリリースし、コアを MIT ライセンス化。9つの必須プラグインを無料提供し、実機テスト用の Jump、音声対応のバイブコーディング環境 Mimi も用意された。
  • Statamic 6 が正式リリース:Laravel 製 CMS の大型アップデート。コントロールパネルを刷新し、Vue 3 / Inertia.js / Tailwind v4 へ移行。2FA、パスキー、昇格セッションでセキュリティを強化した。
  • FrankenPHP v1.11.2:任意ファイル実行につながりうる経路混同を含む3件の脆弱性を修正した優先度の高いリリース。Go 1.26 化で GC が10〜40%、CGO 呼び出しが約30%高速化。
  • Livewire v4.2.0:Laravel 13 サポートと7件のセキュリティ強化を追加。X-Livewire ヘッダと JSON コンテンツタイプの必須化、カスタム更新ルートへの web ミドルウェア強制、Octane での EventBus リスナーリーク修正など。
  • Tailwind CSS v4.2.0:webpack プラグイン、新色4種(mauve、olive、mist、taupe)、ブロック方向の論理プロパティユーティリティを追加。start-* / end-* は非推奨となり inline-s-* / inline-e-* が推奨に。
  • Inertia v2.3.16:Boost の AI ガイドラインとスキルをパッケージ自身に同梱し、@sveltejs/kit を更新した。
  • Claude Opus 4.6:Anthropic がアダプティブ思考、128Kトークン出力、長会話向けの Compaction API(ベータ)、inference_geo によるデータレジデンシー制御を追加。
  • GPT-5.3-Codex:OpenAI がエージェント型開発向けの新しい Codex モデルを公開。ツール利用や長尺タスクで改善し、Codex ユーザー向けに25%高速化した。
  • Microsoft の PostgreSQL 拡張:VS Code から PostgreSQL の接続、クエリ、可視化、@pgsql Copilot エージェント連携までを行える。
  • Fuse for Laravel:外部 API 障害でキューが詰まる問題を、サーキットブレーカーで自己回復させる。回路を開いてジョブを遅延させ、API 復旧を自動検知して再開する。
  • Laravel MongoDB のページネーション:オフセット型とカーソル型を比較し、paginate()cursorPaginate() の使い分けを解説するチュートリアル。
  • Laravel × MongoDB のベクトル検索:MongoDB Atlas でセマンティック検索を、埋め込み生成、ベクトルインデックス作成、vectorSearch() の3ステップで実装するチュートリアル。
  • Laravel Live UK 2026:英国公式カンファレンスが2026年6月18〜19日にロンドンの Shaw Theatre で開催。チケット販売中。
  • Laravel Live Denmark 2026:2026年8月20〜21日にコペンハーゲンで再開催。スピーカー16名の2日間。

まとめ

2月は、公式 AI SDK の発表とコア 12.50〜12.53 の積み上げに加え、Statamic 6 や NativePHP の無料化といったメジャーが重なった月だった。AI とエージェント前提のツールがフレームワーク側に取り込まれ、3月の Laravel 13 へ向けた地ならしも進んだ。AI SDK は社内ツールの LLM 連携、Cache::funnel() や通知の afterSending() は実運用の安定化と、いずれも実務に落としやすい。

このまとめは毎月続ける。詳細は各出典リンクから。

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?