Maison >développement back-end >tutoriel php >Pourquoi devriez-vous abandonner les variables globales en PHP et adopter l'injection de dépendances ?
Arrêtez de compter sur global en PHP : adoptez l'injection de dépendances pour un code plus propre
Pourquoi devriez-vous éviter d'utiliser global ?
Les variables globales créent une dépendance cachée entre les fonctions et la portée globale, rendant votre code étroitement couplé et difficile à maintenir. L'injection de dépendances offre une meilleure approche en transmettant explicitement les données requises en tant que paramètres.
Exemple d'injection de dépendances
Au lieu d'utiliser global pour accéder à la configuration dans function.php, injectez-le dans la fonction comme argument :
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) }
Implémentation de ConfigManager pour Database-Driven Configuration
Pour charger la configuration à partir de la base de données, créez une classe ConfigManager :
class ConfigManager { public function loadConfigurationFromDatabase(Database $db) { $result = $db->query('SELECT ...'); $config = array(); while ($row = $result->fetchRow()) { $config[$row['name']] = $row['value']; } return $config; } }
Incorporation d'autres variables et dépendances
Utiliser la dépendance injection pour transmettre toutes variables ou dépendances supplémentaires, telles que $db, $langue, etc., dans des fonctions et des classes comme nécessaire.
Avantages de l'injection de dépendances
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!