Inhalt
- 1. Die Grenze: Was darf in Konstruktoren?
- 2. Injectable Objects: Services und Manager
- 3. Non-Injectable Objects: Models und DataObjects
- 4. Warum Models nicht injiziert werden dürfen
- 5. Factory als Lösung: Auto-generierte Factories
- 6. Eigene Factories und Factory-Methoden
- 7. Shared vs. Non-Shared in di.xml
- 8. Proxy: Lazy Loading für teure Injectable Objects
- 9. PHPStan: Non-Injectable-Fehler finden
- 10. Fazit: Die goldene Regel des DI
Eine der häufigsten Ursachen für Bugs in Magento-Modulen: Ein Model wird direkt in einen Konstruktor injiziert. Das ist subtil falsch und verursacht unerwartete Seiteneffekte