Accessor/Mutator
Méthodes Eloquent transformant les valeurs lors de la lecture (accessor) ou de l'écriture (mutator). Depuis Laravel 9 : méthodes get/set avec cast Attribute. Ex: getFullNameAttribute() ou via #[Attribute].
Blade Component
Composant réutilisable Blade avec classe PHP associée. Slots nommés pour la composition. Props passées comme attributs HTML. Anonymous components sans classe via resources/views/components/.
Eager Loading
Chargement anticipé des relations Eloquent en une seule requête via with(). Évite le problème N+1 : sans eager loading, N modèles + N relations = N+1 requêtes SQL.
Eloquent
ORM ActiveRecord de Laravel. Chaque modèle représente une table. Les relations (hasMany, belongsTo…) retournent des query builders. Lazy loading vs eager loading contrôlent les N+1.
Event
Objet signalant qu'une action s'est produite dans l'application. Dispatché via event() ou Event::dispatch(). Les listeners et observers réagissent sans coupler les modules.
Facade
Proxy statique vers une implémentation résolue depuis le container. Ex: Cache::get() appelle getCache() sur le FacadeRoot. Real-time facades permettent de créer des facades à la volée.
Form Request
Classe dédiée à la validation et à l'autorisation d'une requête HTTP. rules() retourne les règles, authorize() contrôle l'accès. Résolu automatiquement par le container dans les contrôleurs.
Gate
Mécanisme d'autorisation simple sans modèle associé. Gate::define() crée une règle. Gate::allows()/denies() les évalue. @can en Blade. Complémentaire aux Policies.
Job
Classe encapsulant une tâche à exécuter de façon asynchrone via une queue. Dispatch avec dispatch() ou via Bus facade. ShouldQueue déclenche l'exécution différée.
Macro
Extension d'une classe existante sans héritage. Macroable permet d'ajouter des méthodes à Collection, Str, Request, Response, etc. via MyClass::macro('name', fn() => ...).
Middleware
Couche HTTP interceptant les requêtes avant le contrôleur ou les réponses après. Pile de middlewares avec priorités. Terminable middlewares s'exécutent après l'envoi de la réponse.
Observer
Classe regroupant les listeners aux événements du cycle de vie d'un modèle Eloquent : creating, created, updating, updated, saving, saved, deleting, deleted, restoring, restored, forceDeleted.
Pipeline
Pattern de traitement en chaîne. Pipeline::send($data)->through([$stage1, $stage2])->thenReturn(). Chaque stage reçoit le payload et le passe à la suite. Utilisé en interne pour les middlewares.
Policy
Classe centralisant la logique d'autorisation pour un modèle Eloquent. Méthodes view, create, update, delete, restore. Enregistrée dans AuthServiceProvider ou auto-découverte.
Sanctum
Package d'authentification léger pour SPAs, mobile apps et APIs simples. Token API personnels, authentification de session pour SPAs same-domain. Alternative légère à Passport (OAuth2).
Scope
Méthode sur un modèle Eloquent encapsulant des conditions de requête réutilisables. Local scope : scopeActive() → ->active(). Global scope : appliqué automatiquement à toutes les requêtes du modèle.
Service Container
Noyau du framework Laravel gérant les dépendances et l'injection. Résout automatiquement les interfaces en implémentations via les bindings. Accessible via app() ou via l'injection de type dans les contrôleurs.
Service Provider
Classe de bootstrap enregistrant des services dans le container. boot() est appelé après tous les enregistrements. register() lie les services. AppServiceProvider est le point d'extension principal.
Tinker
REPL (Read-Eval-Print Loop) interactif pour Laravel basé sur PsySH. Accès direct aux modèles, facades et helpers en ligne de commande. Incontournable pour tester rapidement du code.
Vite
Outil de build front-end intégré dans Laravel depuis la v9 (remplace Mix). HMR ultra-rapide en développement, bundling optimisé en production. Plugin laravel/vite-plugin gère la configuration automatiquement.