Bevor ich yii2 lernte, kannte ich den Begriff „Abhängigkeitsinjektion“ bereits und versuchte ihn zu verstehen, aber er war immer in der Luft. Vielleicht hatte ich nie die Gelegenheit, ihn im wirklichen Leben zu verwenden, also habe ich ihn nicht verstanden Diesmal habe ich yii2 gründlich gelernt und dieses sogenannte „High-Level“-Problem gelöst! ! ! Haha
Bevor wir mit der „Abhängigkeitsinjektion“ beginnen, sprechen wir zunächst über Entwurfsmuster. Ich denke, dass es uns dabei helfen kann, es schneller zu verstehen.
Als wir zum ersten Mal Programmieren lernten, haben wir zum Beispiel einige gängige Funktionen satzweise implementiert als einige allgemeine Pakete (Funktionen) ausgegeben. Dann lernten wir etwas über „objektorientiert“ und was folgte, war, wie man das Konzept von „Objekt“ anwendet, um bessere Programme zu entwerfen (verschiedene Entwurfsmuster), und „Abhängigkeitsinjektion“ ist ebenfalls eine Implementierung eines Entwurfsmusters. Seine Implementierung löst unsere Bedenken hinsichtlich „Rückwärts- und Rückwärtsabhängigkeiten“ oder „Kontextabhängigkeiten“ bei der Implementierung von Funktionen. Dieser Satz klingt schwer zu verstehen, also erklären wir ihn kurz.
Wie man die „Vorder- und Rückseitenabhängigkeit“ versteht
Zum Beispiel wollen wir einen „BMW“ bzw. einen „Porsche“ bauen. Bei der Herstellung eines BMW müssen wir uns strikt daran halten Folgende Reihenfolge (1, 2 kann in keiner festen Reihenfolge vorliegen):
1. Finden Sie das BMW-Werk (erforderlich oder einschließen)
2. Bereiten Sie die Vorbereitungen vor, bevor Sie BMW herstellen (initialisieren Sie die Parameter). des Objekts, wenn es sich um ein Objekt handelt, müssen Sie möglicherweise auch einige Parameter vorbereiten.
3. Erst nachdem 1 und 2 vollständig vorbereitet sind, können Sie „BMW“ (neues BaoMa) generieren. $params1,$params2….)), Das heißt, 1 und 2 müssen vor 3 kommen.
Der Bau eines „Porsche“ erfordert den gleichen Prozess. Natürlich muss dieser Prozess auch bei der Herstellung anderer Autos durchlaufen werden. Dies ist das Problem der „Vorder- und Rückseite-Abhängigkeit“. Gibt es eine Möglichkeit, den Prozess der separaten Realisierung eines Autos zu regeln und es universell zu machen? Das heißt, bereiten Sie zuerst den Implementierungsprozess vor und stellen Sie dann die „Rohstoffe“ bereit. Was Sie implementieren möchten, hängt von den „Rohstoffen“ (Abhängigkeitsinjektion) ab, die Sie bereitstellen.
Das Obige ist der yii2-Aufsatz (7) Abhängigkeitsinjektion - (1) Was ist der Inhalt der Abhängigkeitsinjektion? Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!