Skip to main content
この記事はGitHubリポジトリのREADMEとソースコードに基づく情報です。3パッケージはいずれも正式リリース前のBeta版です(2026年4月時点)。
surveyor・ranger・rosterはいずれもBetaリリース中です。v1.0.0リリース前にAPIが変更される可能性があります。本番環境での利用は慎重に判断してください。

最新リリース状況(2026年4月)

概要

Laravelは2026年に入り、コード解析に関連する3つのパッケージを公開しました。これらは単独でも使えますが、相互に連携したコード解析エコシステムを形成しています。 各パッケージの詳細を順に見ていきましょう。

laravel/surveyor — 静的解析エンジン

laravel/surveyor は、PHPファイルをパースしてクラス・メソッド・プロパティ・戻り値の型などの詳細なメタ情報を構造化形式で提供する静的解析ツールです。他のツールやパッケージが利用できる形で情報を抽出することに特化しています。

インストール

基本的な使い方

ファイルを解析する

クラスを直接解析する

ClassResultで取得できる情報

型システム

Surveyorは充実した型システムを持っており、PHPの型を構造化して扱えます。

キャッシュ設定

解析結果をキャッシュして繰り返し実行のパフォーマンスを改善できます。
環境変数でも設定できます。

Eloquentモデルの解析

Surveyorはデータベースへの接続を試みてEloquentモデルを特別に解析します。モデルのリレーション・属性・アクセサ・キャストも検出されます。
SurveyorはEloquentモデルの解析時にデータベースへの接続を試みるため、完全な静的解析ではありません。また、パフォーマンスとメモリ使用量は現在改善中で、コントリビューションを歓迎しています。

laravel/ranger — 高レベルイントロスペクション

laravel/ranger はsurveyorをラップし、Laravelアプリケーション全体をウォークスルーしてルート・モデル・Enum・ブロードキャストイベント・環境変数・Inertiaコンポーネントなどの情報を収集する高レベルライブラリです。

インストール

基本的な使い方

コールバック形式で、各コンポーネントが発見されたときの処理を記述します。

Rangerが収集するコンポーネント


laravel/roster — パッケージ検出ツール

laravel/roster はプロジェクトにどのLaravelエコシステムパッケージがインストールされているかを検出するツールです。パッケージ開発者やツール作者が「このプロジェクトはInertiaを使っているか?」「Livewireのバージョンは?」といった情報を簡単に取得できます。

インストール

基本的な使い方


実際のユースケース

AIガイドライン生成ツール(Boost)

Laravel Boost はrosterを使って、インストール済みのパッケージ構成を把握し、AIエージェント(GitHub CopilotやClaudeなど)向けのガイドラインとスキルの生成を自動調整しています。「このプロジェクトはInertiaを使っているか?」「Livewireは入っているか?」という情報を元に、適切なガイドラインファイルを選択してAIエージェントに提供します。

パッケージ互換性チェッカーを作る

ユーザーのプロジェクトにインストールされているパッケージに応じて動作を変えるパッケージを開発する場合、rosterが非常に有効です。

アプリケーションドキュメント自動生成

rangerを使うと、Laravelアプリのルート・モデル・Enumを自動的に収集してドキュメントを生成するツールを構築できます。

まとめ

surveyor・ranger・rosterは、Laravelエコシステムにおけるプログラムによるコード解析の新しい基盤を提供します。 これらのパッケージは主にパッケージ開発者・ツール作者を対象としており、エンドユーザーが直接使うものではありません。しかし、Laravel BoostのようにLaravel公式ツールの内部でも積極的に活用されており、今後のエコシステム拡大が期待されます。

laravel/surveyor

PHPコードの静的解析エンジン

laravel/ranger

高レベルイントロスペクションライブラリ

laravel/roster

パッケージ検出ツール
最終更新日 2026年4月17日