1
嗨
我是OOPS的新手,你們可以告訴我哪種方式更適合在PHP中調用類的功能,爲什麼?情況如下。哪種方式更好地調用函數靜態方式或對象方式?
class A
{
function B(){}
}
哪種方法將需要更少的資源來調用函數B
1. A::B();
或
2. $obj = new A();
$obj->B();
嗨
我是OOPS的新手,你們可以告訴我哪種方式更適合在PHP中調用類的功能,爲什麼?情況如下。哪種方式更好地調用函數靜態方式或對象方式?
class A
{
function B(){}
}
哪種方法將需要更少的資源來調用函數B
1. A::B();
或
2. $obj = new A();
$obj->B();
那麼,第二方式創建一個不必要的臨時對象,所以第一個是快。但是,如果你有一個創建的對象,這並不重要。
首先在PHP 7中靜態調用非靜態方法已被棄用,所以你會得到一個錯誤。 其次,最好調用方法對象的方式,以便代碼向後兼容。
關於靜態/非靜態方法,您不應該問「哪一個佔用更少的資源」(如果有的話,它將是微觀最優化)。從函數中應該清楚:函數是否在一個對象上操作,改變對象,需要對象變量?那麼它可能是一個非靜態的。函數是否不需要引用實例?那麼它可能是一個靜態的。 – Wrikken 2010-10-02 12:42:17