Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengakses Pembolehubah Luaran (cth., Objek Pangkalan Data) Dalam Kelas dalam Pengaturcaraan Berorientasikan Objek?
Pengaturcaraan berorientasikan objek menekankan pengkapsulan data dalam kelas. Walau bagaimanapun, senario sering timbul di mana kelas perlu berinteraksi dengan sumber luaran, seperti pangkalan data. Artikel ini menangani cabaran untuk mengakses pembolehubah luaran, seperti objek pangkalan data, dalam kelas, menggunakan kelas penomboran sebagai contoh.
Mengakses secara langsung objek pangkalan data luaran dari dalam kelas boleh membawa kepada ralat seperti "Panggil ke pertanyaan fungsi ahli() pada bukan objek." Ini menyerlahkan keperluan untuk pendekatan berstruktur.
Dua kaedah teguh wujud untuk mengurus kebergantungan luaran:
<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>
Suntikan kebergantungan dengan ketara mengatasi penggunaan pembolehubah global:
Dengan menggunakan teknik ini, pembangun boleh mengurus kebergantungan luaran dengan berkesan dalam program berorientasikan objek mereka, menghasilkan kod yang lebih bersih, lebih boleh diselenggara dan boleh diuji.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pembolehubah Luaran (cth., Objek Pangkalan Data) Dalam Kelas dalam Pengaturcaraan Berorientasikan Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!