2017-05-25 20 views
-3

我有一個類定義的靜態方法,如下所示:這兩個中哪一個在PHP中有更好的性能,爲什麼?

class SomeEpicClass { 

    public static function iDoCrazyThings($param) 
    { 
     //All The Matrix computations occurring here 
    } 
} 

現在,我有兩種選擇來調用此方法:

CASE 1

$instance = new SomeEpicClass(); 

$results1 = $instance->iDoCrazyThings(3.14159265); 
$results2 = $instance->iDoCrazyThings(9.8); 

CASE 2

$results1 = SomeEpicClass::iDoCrazyThings(3.14159265); 
$results2 = SomeEpicClass::iDoCrazyThings(9.8); 

哪種情況下性能更好?爲什麼?

+3

測試它。自己計時。 – samiles

+1

如果method是靜態的,然後靜態調用它。至於性能,這將取決於您打了多少電話。捏毫秒毫無意義 –

+1

把這個問題放在這裏: - https://codereview.stackexchange.com/ –

回答

1

最好的方法是瞭解更好的是檢查一下。

第一個靜態方法只不過是名稱空間的全局函數。
什麼時候應該使用靜態方法?:

時方法無副作用。

主要adventage是:

這種方法會以同樣的方式
還是工作,你可以使用它沒有創建一個對象

相關問題