我正在寻找关于以下方面的一些反馈:PDO对象跨越类
我目前有两个类,它们正在我的PHP应用程序中使用。
数据库连接类,它目前使用MySQL
(但切换到PDO
)。
需要数据库功能的另一个类(有几个函数)。
我正在寻找设计这个的最佳方法,我已经阅读了关于singletons(非常混合的评论),阅读对于每个方法(类函数)简单地声明为对象new
的示例,以及示例连接被分配给一个私有变量,作为每个类的__constructor
方法的一部分(然后用$this->
引用)。
那么,其他人怎么做呢?我希望你们能够举一些例子,并且也欢迎别人看过的内容。
我有两个单独的类,在两个单独的文件。我想保留干净的代码,减少DB上不必要的开销,并避免任何可能被认为过时的事情(比如全局变量)。
这就是我在我的gitHub MVC中开始做的事情:-) @ircmaxell会很自豪:-) – Neal 2012-07-16 16:06:27
感谢您的回复,这看起来像一个不错的选择。我会诚实地说,我对__construct神奇的方法很陌生,因此我并不是100%通过Database类和$ db变量做的事情 - 请问您想解释一下吗? – 2012-07-16 16:17:14
当然,为了在你的WorkerClass对象中使用'Database'对象,你需要与它共享那个对象。当您第一次实例化对象时,__construct方法将运行。所以你的代码看起来像这样:'$ db = new Database(); $ worker = new WorkerClass($ db);'。现在Database对象保存在'WorkerClass'中,所以你可以像'$ this-> db'那样访问它。 – 2012-07-16 16:21:08