2010-10-02 65 views
1


我是OOPS的新手,你們可以告訴我哪種方式更適合在PHP中調用類的功能,爲什麼?情況如下。哪種方式更好地調用函數靜態方式或對象方式?

class A 
{ 
    function B(){} 
} 

哪種方法將需要更少的資源來調用函數B

1. A::B(); 

2. $obj = new A(); 
    $obj->B(); 
+4

關於靜態/非靜態方法,您不應該問「哪一個佔用更少的資源」(如果有的話,它將是微觀最優化)。從函數中應該清楚:函數是否在一個對象上操作,改變對象,需要對象變量?那麼它可能是一個非靜態的。函數是否不需要引用實例?那麼它可能是一個靜態的。 – Wrikken 2010-10-02 12:42:17

回答

1

那麼,第二方式創建一個不必要的臨時對象,所以第一個是快。但是,如果你有一個創建的對象,這並不重要。

0

首先在PHP 7中靜態調用非靜態方法已被棄用,所以你會得到一個錯誤。 其次,最好調用方法對象的方式,以便代碼向後兼容。