2010-08-26 63 views
0

我開發的框架。我遇到了一些困難。對於數據庫,我爲不同的SCDB創建了抽象類,接口和一些適配器。例如,Mysqli適配器具有構造函數,該構造函數使用settings數組作爲參數調用父類的構造函數。 Mysqli類使用下一個計劃:PHP Singleton模式與abstract class和interface

class Hybrid_Db_Adapter_Mysqli extends Hybrid_Db_Adapter_Abstract implements Hybrid_Db_Adapter_Interface {} 

我的任務是爲這種情況創建一個單例模式。對數據庫有好處,因爲我們只能創建一個實例。

我不知道,如何爲我創造這個辛格爾頓。我想知道,我應該在哪裏定義getInstance函數。

回答

2

我有偏見的,可當它涉及到人的發展「只是我自己的數據庫封裝類有點框架」。但無論如何... ;-)

可能是我感興趣的你Inversion of Control Containers and the Dependency Injection pattern,而不是強迫用戶單身?

+1

是VolkerK - 重塑車輪?也許是一次學術演習。 – 2010-08-26 09:22:21

+0

你有時只會在別人面前犯同樣的錯誤,纔會學到一些東西。 – pvorb 2014-05-28 08:07:25

-1

這是在PHP site

解釋的關鍵是使用靜態屬性來存儲對象的實例,使構建私有,這樣無法創建新實例。

+0

我知道如何在共同創造Sigleton。我不知道,在我的情況下如何做到這一點。因爲,我已經閱讀了php.net中的模式。 – pltvs 2010-08-26 09:14:26

+0

哦對。也許更好地寫下你的問題。 '我不知道,爲我創造這個單身人士'。建議你不會寫一個單身人士。 – 2010-08-26 09:19:32