[英]How to instantiate and reuse services in PHP
在Java EE中,我將使用Spring實例化和重用我的服務。 現在,我已經使用PHP創建了一個小型框架,以使用服務,存儲庫和DAO支持我的應用程序。
但是,如何實例化(更重要的是)重用這些對象,而不必每次都實例化一個新對象?
剛開始使用單例很誘人,但是隨后我的代碼很快就會變成一團糟。
實際上,我通常無法在PHP中使用良好的OO實踐和設計模式。 有什么好的資源嗎?
我一直在PHP中一直使用Singleton方法,我認為我的代碼還不是一團糟-到目前為止。 許多其他項目(例如Typo3)也使用全局數組來存儲對象。 我不喜歡這種方法,因為數組項很容易被覆蓋。
但是,如果使用名稱空間並將項目文件放在文件夾中(例如Java中),則Singleton方法非常干凈。 使用getInstance()
方法,比起$globalArray['myInstance']
,您在安全方面要$globalArray['myInstance']
。
在php中,我們使用了重要的framewokr也使用的延遲加載技術
您需要建立一個自動加載策略,因為在php中,您應始終包括編寫類的文件以實例化對象
Symfony使用名稱空間,例如
\DB\Repository\Classes\Product
例如在一個
/DB/Repository/Classes/Product.php file
你直接做一個
$product = new Product()
無需考慮包括文件和其他此類操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.