1
클래스 변수를 직접적으로 액세스하는 대신 클래스 메서드를 통해 간접적으로 액세스하는 것이 더 효율적인지 알고 싶습니다.PHP 간접 객체 액세스 효율성
예는 I는 다음의 (의사) 코드를 가지고
class foo {
private $some_object;
public function __construct(){
$this->some_object = new someObject();
}
public function getSomeObject(){
return $this->some_object;
}
} //end of class foo
제 1 액세스 방법이 직접 저장된 객체를 사용 및 두 번째 방법은 $f->some_object
통해 액세스
$f = new foo();
$storedObject = $f->getSomeObject();
for (loop 10 times) {
print $storedObject->getSomeProperty();
}
저장된 개체에 액세스 getSomeObject()
방법
$f = new foo();
for(loop 10 times){
print $f->getSomeObject()->getSomeProperty();
}
PHP는 객체를 참조로 반환하지만 메소드 2는 나에게 비효율적으로 보입니다. 또는 둘 다 동일합니까?
첫 번째 것은 더 빠르지 만, 축하해야 할 차이가 있음을 알게되면 두 번째 Facebook을 실행하게 될 것입니다 (즉, 그러한 최적화를 거치지 않고 프로파일 링 및 최적화 작업을 수행 할 때만 ' 성능 문제가 있습니다.) – deviousdodo
감사합니다. 깨끗한 코딩 관점에서 말입니다. 그것은 또한 내가 만든 여분의 변수를 추적하는 두통을 덜어 줄 것이다. – PowerAktar