Skip to main content

概要

このセクションでは、公式ドキュメントだけでは分からないLaravelの内部実装や、パッケージ開発に特化した上級トピックを扱います。ソースコードを読み解きながら、実践的な設計パターンや拡張方法を解説します。

パッケージ開発

Laravelパッケージ開発

サービスプロバイダーを核としたパッケージ開発の基礎から、設定・ビュー・マイグレーションの公開まで網羅します。

Orchestra TestbenchでLaravelパッケージをテストする

Orchestra Testbenchを使ってパッケージのテスト環境を構築し、サービスプロバイダー・ファサード・DBを検証します。

Testbench Workbenchでパッケージ開発を進める

実アプリに近い検証環境を作り、ルート・マイグレーション・サービス起動を備えた開発フローを構築します。

パッケージのバージョン互換性管理

LaravelとPHPのバージョンアップに対応するパッケージメンテナンス戦略とGitHub Actionsのテストマトリクス設定。

GeneratorCommand — カスタム make: コマンドの実装

パッケージ独自の make: コマンドをGeneratorCommandを継承して実装する方法を解説します。

フレームワーク内部

Laravel 11以降のアプリケーション構造

Slim Application Skeletonの全貌と、Application::configure()からApplicationBuilderまでの内部実装を解説します。

Macroableトレイト

既存のLaravelクラスに独自メソッドを追加するMacroableトレイトの仕組みと活用パターン。

Conditionableトレイト

when()/unless()メソッドの内部実装と、流暢なAPIを設計するための活用パターン。

Illuminate\\Support\\Manager — ドライバーシステムの解剖

Laravel 4.0から続くドライバーシステムの核心クラス。カスタムドライバーの登録方法からMultipleInstanceManagerまで。

Pipelineパターン

Illuminate\Pipeline\Pipelineクラスの仕組みと、複数の処理ステップをチェーンで構成するパターン。

InteractsWithDataトレイト

パッケージ開発で自前クラスにデータアクセスAPIを実装するためのトレイト設計を解説します。

tap() ヘルパーと Tappable トレイト

Laravelのtap()ヘルパーとTappableトレイトの使い方と実装パターン。

PHPアトリビュート

Laravel 13で導入・強化されたPHPアトリビュートを使って、ジョブやモデルの設定を宣言的に記述する方法。

Eloquent 深掘り

Eloquentのカスタムキャスト

CastsAttributesインターフェースを実装したカスタムキャスト。Value Objectパターン、インバウンドキャスト、Castablesも紹介。

Eloquent Observers とモデルイベント

Eloquentモデルが発火するイベントの仕組みと、Observerクラスによるイベントの一元管理。

Eloquentのスコープ

ローカルスコープとグローバルスコープの仕組み。SoftDeletingScopeなどの内部実装から実践的なユースケースまで。

Collection Deep Dive

Laravel Collectionの実装を、歴史・クラス構造・PHPDoc Generics・読み進め方の観点で解説します。

コレクションの高階メッセージ

コレクションの高階メッセージ(Higher-order Messages)の仕組みと実践的な使い方。

MCP・AI

LaravelでMCPサーバーを作る

laravel/mcpパッケージを使って本番運用できるMCPサーバーを構築する。ツール・リソース・プロンプトの実装から認証まで。

AI SDKのカスタムプロバイダーを作る

Laravel AI SDKのソースコードを読み解き、標準で提供されていないAIサービスに対応するカスタムプロバイダーを実装。

Boostのカスタムエージェントを作る

Laravel Boostの拡張アーキテクチャを深掘りし、カスタムエージェントを作成する方法を解説します。

認証・バリデーション・その他

カスタム認証ガードの実装

Guard・StatefulGuardインターフェースを実装してカスタム認証ガードを作る方法をソースコードレベルで解説。

カスタムバリデーションルール

ルールオブジェクトやクロージャでバリデーション機能を拡張する方法を内部実装まで踏み込んで解説。

レート制限のカスタマイズ

RateLimiterファサードを深掘りし、ユーザー別・プラン別・IPアドレス別のカスタムレート制限を実装。

Pestを使った高度なテスト

Expectation API・データセット・フェイク・Mockeryまで、Pestの高度な使い方を体系的に解説。
最終更新日 2026年5月1日