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.