物件導向程式設計強調類別內的資料封裝。 然而,經常會出現類別需要與外部資源(例如資料庫)互動的情況。本文以分頁類別為例,解決了在類別中存取外部變數(例如資料庫物件)的挑戰。
從類別直接存取外部資料庫物件可能會導致諸如「呼叫非物件上的成員函數 query()」之類的錯誤。 這凸顯了對結構化方法的需求。
有兩種強大的方法用於管理外部相依性:
<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>
依賴注入明顯超越了全域變數的使用:
透過採用這些技術,開發人員可以有效地管理其物件導向程式中的外部依賴關係,從而產生更乾淨、更易於維護且可測試的程式碼。
以上是在物件導向程式設計中如何存取類別中的外部變數(例如資料庫物件)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!