Hey dedlfix,
In einem anderen Post habe ich ja schon den Blog von Fabien Potencier erwähnt. Der hat auch einen Artikel zu DI. Ohne Dir den jetzt komplett durchlesen zu müssen: Hört sich der Artikel vernünftig an, um DI besser zu verstehen?
Nach dem Lesen der ersten zwei Teile denke ich, dass er für das Verständnis von DI sehr hilfreich ist.
danke für die Einschätzung. Dann nehme ich das jetzt erstmal als Grundlage.
Er erklärt auch einige Dinge anders, als ich und als es mir geläufig war.
Findest Du? Für mich hört sich das fast genauso an wie das, was Du gesagt hast - oder wie ich Dich verstanden hab :-) Einziger Unterschied ist doch, dass ...
[...] Und die Injection geht nicht nur über Konstruktoren, sondern auch über Methoden und Eigenschaften. Hauptsache ist, man übergibt benötigte Komponenten, als dass sich ein Objekt selbst welche holt.
... er dies sagt. Allerdings kann ich auch nicht beurteilen, ob das seine alleinige Meinung ist oder ob DI so "definiert" wurde. Sinnvoll hört es sich für mich aber an.
Wenn man nicht zu Fuß die Abhängkeiten auflösen will, ist ein Dependency Injection Container der richtige Fachbegriff für den Teil, der weiß, wie konkrete Objekte und ihre Abhängigkeiten zu erzeugen sind. DI-Frameworks gibt es natürlich auch, und das sind dann konkrete Implementation solcher DICs und der benötigten Programmlogik dahinter.
Das muss ich mir nochmal genauer ansehen. So ganz erschließt sich mir noch nicht, wie das vonstatten gehen soll. Ok, dass, was ich z.B. in der test.php gemacht hatte:
$file = new FileObject('test.ini');
$loadHelper = new LoadHelperIni($file);
$config = new Config();
$config->load($loadHelper);
kann ich natürlich auch in eine Klasse bzw. Klassen-Methode auslagern. Aber wie mich da ein Framework bei unterstützen soll, verstehe ich noch nicht. Außer vielleicht, dass diese Container in einer Registry abgelegt werden, sodass ich von überall aus darauf Zugriff habe.
Ich geh dann mal weiterlernen.
Das mach ich jetzt auch. Allerdings muss ich jetzt leider wieder der Numerischen Mathematik frönen. In zwei Wochen steht die Klausur an.
Gruß, Dennis