Mathieu Desnouveaux

PERF & Injection de dépendance - Êtes-vous assez paresseux-ses

Présentation par Nicolas Grekas sur l'optimisation de l'injection de dépendances avec les principes SOLID au Forum PHP 2025

Sketchnote illustrant les principes SOLID et l'injection de dépendances pour la performance au Forum PHP 2025. Le schéma montre les 5 principes SOLID (S-Responsabilité unique n'avoir qu'une seule raison de changer, O-Ouvert/Fermé ouvert à l'extension fermé à la modification on peut empiler des couches sans tout changer, L-Substitution de Liskov permet d'utiliser n'importe quelle classe fille, I-Ségrégation des interfaces réduit les interfaces et évite le couplage, D-Inversion de dépendance dépendre d'abstraction). Deux moments d'utilisation: 1-Au build (chercher les implémentations, ajout dans un fichier PHP), 2-Au runtime (on utilise le fichier). Extensions via décorateur (compiler pass) ou un attribut. L'injection de dépendance utilise les attributs pour identifier, configurer et décorer les dépendances. Pour résoudre des problèmes de perf, la solution est Lazyness avec un paresseux qui dit 'voir les détails dans la doc'.

Cette sketchnote a été réalisée lors du Forum PHP 2025. Elle illustre la présentation "PERF & Injection de dépendance - Êtes-vous assez paresseux-ses" donnée par Nicolas Grekas, qui explore comment optimiser les performances de l'injection de dépendances en utilisant la paresse (lazy loading).

Contenu de la présentation

Nicolas Grekas explore l'optimisation de l'injection de dépendances avec SOLID et le lazy loading. Les cinq principes SOLID structurent le code : responsabilité unique, ouvert/fermé, substitution de Liskov, ségrégation des interfaces et inversion de dépendance. L'injection fonctionne en deux temps : au build, compilation du conteneur ; au runtime, utilisation du conteneur pré-compilé. Les attributs PHP 8 permettent de configurer les dépendances dans le code. La paresse (lazy loading) est la clé : ne charger que ce qui est nécessaire pour des performances optimales.

Thèmes:
🐘 PHP 🏗️ Architecture 🚀 Performance
Événement:
🎤 Forum PHP

Source: Nicolas Grekas
Publié le 30 novembre 2025