2016-07-09 77 views
2

我在構建的應用程序中遇到了一個問題,那就是:如何創建單個數據庫連接以跨多個類使用?在類之間共享對象的正確方法是什麼?

在閱讀了這一點之後,不同的帖子/人們似乎在告訴我不同​​的東西。使用$_GLOBALglobal關鍵字是實現它的一種方式,但這有它自己的問題。

Stackoverflow上的其他線程建議使用Singletons作爲這樣做的一種方式,但也表示它不會是實現實例的共享屬性的正確方法。

那麼,對於數據庫控制器或會話控制器來說,實現這一點的方式是什麼?

+2

[依賴注入](https://en.wikipedia.org/wiki/Dependency_injection)與容器。看看[Pimple](http://pimple.sensiolabs.org/)。 –

+0

[這篇文章](http://stackoverflow.com/a/16605563/5816907)提供了最好的,也作爲johnconde提到DI – Chay22

+0

@JohnConde依賴注入是完美的,並與我的應用程序非常好,謝謝!你能寫作答案,我可以接受嗎? – Polarize

回答

0

全局和單例是過去的方式。 Dependenci Injection是今天最好的方法。當然,會有很多人不同意我的觀點,所以最終選擇是你的。

我會推薦使用DI執行從Nette Framework - https://github.com/nette/di爲什麼這一個?因爲它會爲你做很多工作。例如依賴注入容器的自動生成或從簡單界面自動生成類工廠。

相關問題