2011-07-06 104 views
0

我將如何從父級靜態方法初始化子類?PHP從父級靜態方法初始化子類的新實例?

我可以使用PHP 5.3中的遲靜態綁定和父類方法中的static關鍵字來獲取子類的靜態變量。我如何初始化一個父類靜態方法的子類的新實例?

謝謝。

+1

這種設計模式衆所周知,請稍微精確一點:你試圖得到什麼樣的**結果?你爲什麼想這樣做?然後,我們可以引導您採用正確的設計模式。 – SteeveDroz

+1

..或者,對於我們這些不沉迷於嚴格「設計模式」的人,我們可以指導您解決您的問題。 –

回答

5

你不需要涉及靜態變量或任何雜亂無章的東西。這裏是最短的例子我能想出:

class a { 
    public static function foo() { return new static; } 
} 

class b extends a { } 

如果你打電話b::foo()你會得到一個新型B。

相關問題