Wer einen DI-Container nur aus der Dokumentation eines Frameworks kennt, versteht selten, warum er so entworfen ist, wie er entworfen ist. In diesem Artikel bauen wir einen minimalen, PSR-11-kompatiblen DI-Container von Grund auf in reinem PHP 8.4: mit Reflection-basiertem Autowiring, rekursiver Abhängigkeitsauflösung, Erkennung von Zirkularität und klar definierten Bindings zwischen Interface und Implementierung. Am Ende steht kein Produktionscode, sondern ein Werkzeug zum Verstehen, das zeigt, was PHP-DI,
Symfony DependencyInjection und der
Laravel Container tatsächlich unter der Haube leisten.