Skip to main content

Vue d’ensemble

Cette section couvre l’implémentation interne de Laravel que la documentation officielle seule ne suffit pas à saisir, ainsi que des sujets avancés spécifiques au développement de packages. En parcourant le code source, elle présente des patterns de conception concrets et des méthodes d’extension.

Développement de packages

Développement de packages Laravel

Des fondations du développement de packages autour du service provider jusqu’à la publication de configurations, vues et migrations.

Tester des packages Laravel avec Orchestra Testbench

Construisez un environnement de test avec Orchestra Testbench et validez service providers, façades et base de données.

Développer un package avec Testbench Workbench

Créez un environnement de vérification proche d’une vraie application, avec routes, migrations et services démarrés.

Gestion de la compatibilité de versions de package

Stratégie de maintenance de package face aux montées de version de Laravel et PHP, et matrices de test GitHub Actions.

GeneratorCommand — implémenter des commandes make: personnalisées

Découvrez comment implémenter des commandes make: propres à votre package en héritant de GeneratorCommand.

Intérieur du framework

Structure d'application depuis Laravel 11

Vision d’ensemble du Slim Application Skeleton et implémentation interne, de Application::configure() à ApplicationBuilder.

Trait Macroable

Fonctionnement et patterns d’utilisation du trait Macroable pour ajouter des méthodes personnalisées aux classes Laravel existantes.

Trait Conditionable

Implémentation interne des méthodes when()/unless() et patterns pour concevoir des API fluides.

Illuminate\\Support\\Manager — anatomie du système de drivers

La classe cœur du système de drivers hérité de Laravel 4.0. De l’enregistrement d’un driver personnalisé au MultipleInstanceManager.

Pattern Pipeline

Fonctionnement de la classe Illuminate\Pipeline\Pipeline et pattern pour chaîner plusieurs étapes de traitement.

Trait InteractsWithData

Conception d’un trait pour doter vos propres classes d’une API d’accès aux données lors du développement d’un package.

Helper tap() et trait Tappable

Utilisation et patterns d’implémentation du helper tap() et du trait Tappable de Laravel.

Attributs PHP

Comment utiliser les attributs PHP introduits et renforcés dans Laravel 13 pour déclarer la configuration des jobs et modèles.

Eloquent en profondeur

Casts personnalisés d'Eloquent

Casts personnalisés implémentant l’interface CastsAttributes. Pattern Value Object, casts entrants et Castables.

Observers Eloquent et événements de modèle

Mécanisme des événements déclenchés par les modèles Eloquent et gestion centralisée via des classes Observer.

Scopes Eloquent

Fonctionnement des scopes locaux et globaux. De l’implémentation interne de SoftDeletingScope aux cas d’usage pratiques.

Collection Deep Dive

Décryptage de l’implémentation des Collections Laravel : histoire, structure de classes, PHPDoc Generics et méthode de lecture.

Messages d'ordre supérieur des collections

Fonctionnement et usage pratique des messages d’ordre supérieur (Higher-order Messages) des collections.

MCP et IA

Créer un serveur MCP avec Laravel

Construire un serveur MCP prêt pour la production avec le package laravel/mcp. De l’implémentation d’outils, ressources et prompts jusqu’à l’authentification.

Créer un provider personnalisé pour l'AI SDK

Décryptage du code source de Laravel AI SDK et implémentation d’un provider personnalisé pour un service IA non pris en charge nativement.

Créer un agent personnalisé Boost

Plongée dans l’architecture d’extension de Laravel Boost et création d’un agent personnalisé.

Authentification, validation et autres

Implémenter un guard d'authentification personnalisé

Comment créer un guard d’authentification personnalisé en implémentant les interfaces Guard et StatefulGuard, expliqué au niveau du code source.

Règles de validation personnalisées

Comment étendre la validation avec des objets de règle ou des closures, jusqu’à leur implémentation interne.

Personnalisation de la limitation de débit

Plongée dans la façade RateLimiter et implémentation de limitations personnalisées par utilisateur, plan ou adresse IP.

Tests avancés avec Pest

Utilisation avancée de Pest : Expectation API, datasets, fakes et Mockery, présentée de façon structurée.
最終更新日 2026年7月13日