Ich weiß, wie ein Inversion of Control-Container funktioniert und ich weiß, wie ich einen selbst erstellen kann. Aber ich weiß nur, wie man das macht, indem ich Register- und Entschlossenheitsmethoden benutze.Wie löst Laravel Abhängigkeiten basierend auf Typhinweisen auf?
Ich habe in der Laravel-Dokumentation nachgeschaut, aber ich bin auf der Suche, herauszufinden, wie Laravel eine Abhängigkeit basierend auf Tyhinhinting lösen kann. Wo ist das fehlende Glied für genau diesen Teil?
Wenn ich einen traditionelleren IoC-Container verwende, in dem ich manuell Dinge auflösche, muss ich zumindest eine statische Methode aufrufen, um loszulegen. Laravel scheint das alles nicht zu brauchen.
Kann mich jemand in die richtige Richtung lenken oder ein kleines Beispiel aufstellen?
ich habe mich durchgearbeitet:
http://code.tutsplus.com/tutorials/dependency-injection-huh--net-26903
Als rekapitulieren. Vielleicht könnte jemand ein schnelles Beispiel mit automatischer Auflösung für Typhinweisen aufstellen oder ist das wirklich komplex?
Für Ihre Frage, es sieht so aus, als ob Sie wissen möchten, wie Laravel DI durch Typhinweis auflöst. Was Sie suchen, heißt Reflection in PHP. Mit Reflection erstellen Sie ein Spiegelobjekt einer Klasse innerhalb einer Variablen und Sie können durch es navigieren, bevor Sie eine Instanz erstellen. –
Wie feuert die Reflexionsklasse, wenn ein Typhint verwendet wird? –
ist es nicht. Wenn Sie aufmerksam auf Laravel achten, haben Sie nur DI für Klassen/Methoden, die Laravel für Sie aufruft. Wenn Sie ein Objekt manuell instanziieren, sehen Sie, dass DI Sie nicht speichert. –