Le lazy-loading est plus que vous ne le pensez !
Exploration des 4 patterns et cas d'usage avancés avec PHP 8.4, Symfony et Doctrine

Cette sketchnote a été réalisée lors de l'AFUP Day Lille 2025. Elle illustre la présentation "Le lazy-loading est plus que vous ne le pensez !" donnée par Baptiste Leduc, qui explore en profondeur les mécanismes et patterns du lazy-loading au-delà des concepts basiques.
Contenu de la présentation
Baptiste Leduc dévoile 4 patterns fondamentaux du lazy-loading : Initialization (initialisation à la demande), Value Holder (conteneur de valeur), Virtual Proxies (proxies virtuels), et Ghost Object (objet fantôme). Chaque pattern répond à des besoins spécifiques d'optimisation du chargement des données.
La présentation met l'accent sur l'intégration native à PHP 8.4 et les usages concrets dans l'écosystème Symfony. L'injection de dépendance chez Symfony et les entités Doctrine exploitent ces patterns pour optimiser les performances applicatives.
Un cas concret PIM (Product Information Management) illustre l'implémentation avancée : retour des produits par API avec exécution des appels en tâche de fond, chargement asynchrone via HTTP client, et système de batch pour les requêtes multiples. Le système ne bloque que si l'accès aux données est immédiatement requis, optimisant ainsi les performances globales.
Points clés à retenir
- 4 patterns essentiels : Initialization, Value Holder, Virtual Proxies, Ghost Object pour différents cas d'usage
- PHP 8.4 natif : Intégration native du lazy-loading dans le langage
- Écosystème Symfony : Usage dans l'injection de dépendance et les entités Doctrine
- Chargement asynchrone : HTTP client avec système de batch et tâches de fond
- Optimisation intelligente : Blocage uniquement lors d'accès immédiat aux données