面向对象编程强调类内的数据封装。 然而,经常会出现类需要与外部资源(例如数据库)交互的情况。本文以分页类为例,解决了在类中访问外部变量(例如数据库对象)的挑战。
从类中直接访问外部数据库对象可能会导致诸如“调用非对象上的成员函数 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中文网其他相关文章!