我正在寻找有关以下方面的一些反馈:
我目前有两个类,它们正在我的 PHP 应用程序中使用。
一个数据库连接类,目前正在使用MySQL
(但切换到PDO
)。
另一个需要数据库功能的类(有几个函数)。
我正在寻找设计这个的最佳方法,我已经阅读了关于单例的内容(评论非常复杂),阅读了示例,其中对象被简单地声明为 new
每个方法(类函数),以及将连接分配给私有(private)变量作为每个类的 __constructor
方法的一部分的示例(然后用 $this->
引用)。
那么,其他人是如何做到的呢?我希望你能好心地举个例子,也欢迎对其他人阅读的内容发表意见。
我有 2 个单独的类,在两个单独的文件中。我想保持干净的代码,减少数据库上不必要的开销,并避免任何可能被认为过时的东西(例如全局变量)。
最佳答案
负责连接的Database
类应该是连接数据库,创建新的PDO实例,并将其保存到自己的字段中 .
class Database {
private $pdo;
public __construct() {
$this->pdo = new PDO(...);
}
}
第二个类,不关心数据库连接来自哪里,它只需要它工作应该注入(inject) Database
类:
class WorkerClass {
private $db;
public __construct(Database $db) {
$this->db = $db;
}
}
关于php - 跨类的 PDO 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11508070/