在Java EE中,我將使用Spring來實例化和重用我的服務。現在我創建了一個PHP框架來支持我的應用程序,使用服務,存儲庫和DAO。如何在PHP中實例化和重用服務
但是,如何實例化,但更重要的是,重新使用這些對象,而不必每次都實例化一個新對象?
這很誘人開始使用單身人士,但隨後我的代碼很快就會變成一團糟。
事實上,我在使用一般的PHP使用良好的OO實踐和設計模式時遇到了麻煩。有沒有這方面的好資源?
在Java EE中,我將使用Spring來實例化和重用我的服務。現在我創建了一個PHP框架來支持我的應用程序,使用服務,存儲庫和DAO。如何在PHP中實例化和重用服務
但是,如何實例化,但更重要的是,重新使用這些對象,而不必每次都實例化一個新對象?
這很誘人開始使用單身人士,但隨後我的代碼很快就會變成一團糟。
事實上,我在使用一般的PHP使用良好的OO實踐和設計模式時遇到了麻煩。有沒有這方面的好資源?
我個人在PHP中一直使用Singleton方法,在我看來,我的代碼並不是一團糟 - 但是。很多其他項目(例如Typo3)使用全局數組來存儲對象。我不喜歡這種方法,因爲數組項可以很容易地被覆蓋。
但是,如果您使用命名空間並將文件夾中的項目文件(比如在Java中),Singleton方法非常乾淨。與getInstance()
方法相比,您的安全性要高出$globalArray['myInstance']
。
同意。工廠/單體模式重用已建立的對象沒有任何問題。 – 2012-04-20 19:56:19
在PHP中,我們使用還使用了延遲加載技術的重要framewokr
你需要建立一個自動加載的策略,因爲在PHP你應該總是包含在類被寫入到實例化對象的文件
symfony使用的命名空間,以便例如
\DB\Repository\Classes\Product
例如在
/DB/Repository/Classes/Product.php file
中登記
和你做一個直接
$product = new Product()
如果不採取包括文件和其他類型的這樣操作的照顧。
使用PHP框架 – 2012-04-20 07:13:44
我喜歡這本關於PHP設計模式的書:http://www.amazon.com/PHP-Design-Patterns-Stephan-Schmidt/dp/389721864X/ref=sr_1_7?ie=UTF8&qid=1334906032&sr= 8-7 – bardiir 2012-04-20 07:16:08