Heim >Datenbank >MySQL-Tutorial >Wie kann ich in der objektorientierten Programmierung auf externe Variablen (z. B. ein Datenbankobjekt) innerhalb einer Klasse zugreifen?
Objektorientierte Programmierung legt Wert auf die Datenkapselung innerhalb von Klassen. Es treten jedoch häufig Szenarien auf, in denen eine Klasse mit externen Ressourcen wie einer Datenbank interagieren muss. Dieser Artikel befasst sich am Beispiel einer Paginierungsklasse mit der Herausforderung, innerhalb einer Klasse auf externe Variablen wie Datenbankobjekte zuzugreifen.
Der direkte Zugriff auf ein externes Datenbankobjekt aus einer Klasse heraus kann zu Fehlern wie „Aufruf einer Mitgliedsfunktion query() für ein Nicht-Objekt“ führen. Dies unterstreicht die Notwendigkeit strukturierter Ansätze.
Es gibt zwei robuste Methoden zum Verwalten externer Abhängigkeiten:
<code class="language-php">class Paginator { protected $db; public function __construct(DB_MySQL $db) { $this->db = $db; } public function get_records($q) { $x = $this->db->query($q); return $this->db->fetch($x); } }</code>
<code class="language-php">class Paginator { public function get_records($q, DB_MySQL $db) { $x = $db->query($q); return $db->fetch($x); } }</code>
Abhängigkeitsinjektion übertrifft die Verwendung globaler Variablen deutlich:
Durch den Einsatz dieser Techniken können Entwickler externe Abhängigkeiten in ihren objektorientierten Programmen effektiv verwalten, was zu saubererem, besser wartbarem und testbarem Code führt.
Das obige ist der detaillierte Inhalt vonWie kann ich in der objektorientierten Programmierung auf externe Variablen (z. B. ein Datenbankobjekt) innerhalb einer Klasse zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!