3

我正在寻找有关以下内容的一些反馈:

我目前有两个类,它们正在我的 PHP 应用程序中使用。

一个数据库连接类,当前正在使用MySQL(但正在切换到PDO)。

另一个需要数据库功能的类(具有多个功能)。

我正在寻找设计这个的最佳方法,我已经阅读了单例(评论非常复杂),阅读了简单地new为每个方法(类函数)声明对象的示例,以及将连接分配给的示例作为__constructor每个类的方法的一部分的私有变量(然后用 引用$this->)。

那么,其他人是如何做到的呢?我希望你能很好地举一个例子,也欢迎对其他人读过的内容发表意见。

我有 2 个单独的类,在两个单独的文件中。我想保持干净的代码,减少不必要的数据库开销,并避免任何可能被认为过时的东西(例如全局变量)。

4

2 回答 2

2

Database负责连接的类应该是连接到数据库、创建新的 PDO 实例并将其保存到自身的字段中的类。

class Database {
    private $pdo;
    public __construct() {
        $this->pdo = new PDO(...);
    }
}

第二个类,它不关心数据库连接来自哪里,它只需要它工作应该注入Database

class WorkerClass {
    private $db;
    public __construct(Database $db) {
        $this->db = $db;
    }
}
于 2012-07-16T16:03:41.710 回答
1

我一直在创建它,__constructor然后习惯于$this->得到它。这应该可以满足您的需求,但我鼓励您尝试不同的风格,看看哪种风格最有效。

我不会new每次都创建一个新对象,除非你有很好的理由。

于 2012-07-16T16:03:27.837 回答