我想知道如何將self ::和$ this組合成一個「靜態」類?如何使用自我和靜態類相結合?
<?php
class Test
{
static private $inIndex = 0;
static public function getIndexPlusOne()
{
// Can I use $this-> here?
$this->raiseIndexWithOne();
return self::inIndex
}
private function raiseIndexWithOne()
{
// Can I use self:: here?
self::inIndex++;
}
}
echo Test::getIndexPlusOne();
?>
我說上面以及代碼中的問題,但我可以用自己::在非靜態方法,我可以在靜態方法中使用$這 - >到調用一個非靜態函數?
謝謝!
值得一提的,你不能使用$這是一個靜態方法裏面:單是時下視爲反模式。 – KingCrunch 2012-03-28 11:20:54
我仍然懷疑這個事實,如果我應該爲我的數據庫類使用單例模式或靜態類。 Singleton看起來更好,但你可以只有1.事實上,將來我將不得不遷移我的數據庫我想有2個實例,然後靜態類會更好。 接下來,如果我看到偉大的WWW上的基準,靜態類更快,然後是單例模式。 – pascalvgemert 2012-03-28 11:36:41
@pascalvgemert - 如果你想要多個實例,你想用靜態方法和屬性來實現什麼?這些是「每類」而不是「每個實例」。 – 2012-03-28 11:58:28