ホームページ >バックエンド開発 >PHPチュートリアル >なぜ PHP でグローバル変数を捨てて依存関係の注入を採用する必要があるのでしょうか?
PHP でグローバルに依存するのをやめる: よりクリーンなコードのために依存関係の挿入を採用する
グローバルの使用を避けるべき理由
グローバル変数は、関数とグローバル スコープの間に隠れた依存関係を作成します。コードが密結合になり、保守が困難になります。依存関係の注入は、必要なデータをパラメータとして明示的に渡すことにより、より良いアプローチを提供します。
依存関係の注入の例
function.php の設定にアクセスするためにグローバルを使用する代わりに、それを注入します。引数として関数に追加します:
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) }
ConfigManager の実装データベース駆動型構成の場合
データベースから構成をロードするには、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; } }
他の変数と依存関係の組み込み
依存関係注入を使用して、$db、$ language、などの追加の変数または依存関係を渡します。
依存性注入の利点
以上がなぜ PHP でグローバル変数を捨てて依存関係の注入を採用する必要があるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。