Was ist Abhängigkeitsinjektion? Dieser Artikel wird Ihnen helfen, die Abhängigkeitsinjektion in PHP zu verstehen, die Gründe für die Abhängigkeitsinjektion und die Anwendung der Abhängigkeitsinjektion vorzustellen. Ich hoffe, er wird Ihnen hilfreich sein! 1. Was ist Dependency Injection (DI)? Eine Klasse, aber einige Methoden oder Funktionen dieser Klasse können nicht von dieser Klasse allein abgeschlossen werden, sondern können mit Hilfe einer anderen Klasse abgeschlossen werden. Das direkteste Zeichen ist, wenn die Parameterdaten als Objekt übergeben werden. Streng genommen möchten Sie eine andere Klasse in einer anderen Klasse betreiben. Die Methode zur Übergabe von Parametern wird als Injektion bezeichnet. 2. Der Grund für die Entstehung der Abhängigkeitsinjektion Wenn PHP zu Beginn eine andere Klasse in einer Klasse verwenden muss, führt es die folgenden Vorgänge aus
Wenn ich beispielsweise die Adapterklasse in der Containerklasse verwenden muss, muss sie vor der Verwendung instanziiert werden
Bei Bedarf Bei einer großen Anzahl externer Klassen führt dies dazu, dass der Kopplungsgrad zu hoch ist, was leicht zu späteren Wartungsschwierigkeiten führen kann.Laienhaft ausgedrückt bedeutet dies, dass der Container nicht ohne externe Klassen funktionieren kann, was als Kopplungsgrad bezeichnet wird zu hoch sein Sie müssen das zu bedienende Klassenobjekt übergeben. Die Parameter der Abhängigkeitsinjektionsoperation sind Objekte, keine gewöhnlichen Parameter. Aber eine so einfache Abhängigkeitsinjektion führt dazu Wenn Sie von vielen Klassen abhängig sind, werden Sie sehr lange brauchen und leicht verwirrt werden Durch die magische Methode legt __get das Objekt fest.
Zu diesem Zeitpunkt können wir das Problem zu vieler Abhängigkeiten und verwirrender Parameter lösen. 5. Anwendung der Abhängigkeitsinjektion. Wir definieren zunächst eine Containerklasse , die hauptsächlich zum Einfügen der Klassen, die Sie betreiben möchten, in den Container verwendet wird.<?php
class container
{
private $adapter;
public function __construct()
{
$this->adapter = new adapter();
}
}
Das obige ist der detaillierte Inhalt vonErfahren Sie mehr über die Abhängigkeitsinjektion in PHP und erfahren Sie, wie Sie sie anwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!