Verlassen Sie sich nicht mehr auf Global in PHP: Nutzen Sie Dependency Injection für saubereren Code
Warum sollten Sie die Verwendung von Global vermeiden?
Globale Variablen erzeugen eine versteckte Abhängigkeit zwischen Funktionen und dem globalen Bereich, wodurch Ihr Code eng verknüpft und schwer zu warten ist. Die Abhängigkeitsinjektion bietet einen besseren Ansatz, indem erforderliche Daten explizit als Parameter übergeben werden.
Beispiel für die Abhängigkeitsinjektion
Anstatt global für den Zugriff auf die Konfiguration in function.php zu verwenden, injizieren Sie sie als Argument in die Funktion einfügen:
function conversion($Exec, $Param = array(), $Log = '') { // Inject the configuration data as $config $config = $this->getConfig(); $cmd = $config['phppath'] . ' ' . $config['base_path'] . '/' . $Exec; // ... (rest of the function) }
Implementierung von ConfigManager für datenbankgesteuert Konfiguration
Um die Konfiguration aus der Datenbank zu laden, erstellen Sie eine ConfigManager-Klasse:
class ConfigManager { public function loadConfigurationFromDatabase(Database $db) { $result = $db->query('SELECT ...'); $config = array(); while ($row = $result->fetchRow()) { $config[$row['name']] = $row['value']; } return $config; } }
Einbindung anderer Variablen und Abhängigkeiten
Abhängigkeit verwenden Injektion, um zusätzliche Variablen oder Abhängigkeiten wie $db, $sprache usw. an Funktionen und Klassen als zu übergeben benötigt.
Vorteile der Abhängigkeitsinjektion
Das obige ist der detaillierte Inhalt vonWarum sollten Sie globale Variablen in PHP aufgeben und die Abhängigkeitsinjektion nutzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!