1. 程式人生 > >php 靜態方法和非靜態方法哪個更好

php 靜態方法和非靜態方法哪個更好

class class1
{
    public static function test(){}
}
class class2
{
    public function test(){}
}

靜態方法呼叫
class1::test(); 
非靜態方法呼叫
$c2 = new class2(); 

$c2->test();

從效能來講

靜態方法 :

從程式執行開始 就例項生成記憶體 ,所以可以直接呼叫,效率會高很多,但是靜態記憶體是有限制的,例項太多,程式直接啟動不了,靜態記憶體會常駐

非靜態方法:

例項方法開始生成記憶體,在呼叫時申請零散的記憶體,所以效率會慢很多 ,非靜態的用完就釋放了

總體來講都各有優勢,什麼時候用,都視情況而定