질문의 두 번째 부분에 대답하려면 여기에 내가 그것을 사용해야했던 장소가 있습니다. Magic getters! 내가 거기 &
을 사용하지 않았다면
class FooBar {
private $properties = array();
public function &__get($name) {
return $this->properties[$name];
}
public function __set($name, $value) {
$this->properties[$name] = $value;
}
}
이 가능하지 않을 것이다 :
$foobar = new FooBar;
$foobar->subArray = array();
$foobar->subArray['FooBar'] = 'Hallo World!';
대신 PHP는 '간접적으로 과부하 속성을 수정할 수 없습니다'같은 것을 말하는 오류가 발생합니다.
좋아, 이것은 아마도 PHP에서 잘못된 디자인을 얻는 해킹 일 뿐이지 만 여전히 유용합니다.
하지만 솔직히 나는 다른 예를 생각할 수 없습니다. 하지만 드문 유스 케이스가 있다고 생각합니다 ...
-1은 $ result를 나타 내기 위해 함수 내에 만 존재하므로 쓸모가 없습니다. – NikiC
@nikic : 나는 내 대답을 뒤로 굴렸다. – BoltClock
오케이. 이제는 PHP 5에서 객체가 가치에 의해 전달되지 않는다는 것을 -1로 알려줍니다 ... – NikiC