1
我想知道它是否更有效地直接訪問類變量而不是間接訪問,即通過類方法。PHP間接對象訪問效率
例如我有以下的(僞)代碼:
class foo {
private $some_object;
public function __construct(){
$this->some_object = new someObject();
}
public function getSomeObject(){
return $this->some_object;
}
} //end of class foo
第一接入方法使用所存儲的對象,並直接訪問存儲
$f = new foo();
$storedObject = $f->getSomeObject();
for (loop 10 times) {
print $storedObject->getSomeProperty();
}
該目的的第二方法訪問經由$f->some_object
getSomeObject()
方法
$f = new foo();
for(loop 10 times){
print $f->getSomeObject()->getSomeProperty();
}
我知道PHP通過引用返回對象,但方法2對我來說效率更低,或者他們都是一樣的?
第一個更快,但如果你會注意到我的差異,我不得不說恭喜,你可能已經有第二個Facebook運行了(也就是說,不要爲這樣的優化而煩惱,只在你'有性能問題)。 – deviousdodo
謝謝,這從清晰的編碼角度來看是有道理的。它還能讓我避免跟蹤創建的額外變量的頭痛 – PowerAktar