은 무엇합니까 brakets 말은 어디에서 더
return $container->{$resource};
은 무엇합니까 brakets 말은 어디에서 더
return $container->{$resource};
두 가능성을 읽을 의미 :
$ resource = "score"; // 동적으로 이름을 설정하십시오.
return $ container -> {$ resource}; // return $ container-> score와 동일;
오타/초보자 실수
입력 의미 프로그래머는 :
return $container->resource; // returns resource public member variable
오타가되지는 않습니다. 달러 기호와 대괄호 두 개를 "잘못 입력"하는 것은 어렵고주의를 기울이지 않을 것입니다. –
참. {}는 타입을 잘못 입력하기는 어렵지만 프로그래머가 $ container -> $ resource를 반환하는 버그가 많이 있습니다. – Yada
브래킷은 가변 변수를 사용하게한다. 당신은 자세한 내용은 여기를 읽을 수 있습니다
// gets the value of the "resource" member from the container object
$container->resource;
및
// gets the value of the "foo" member from the container object
$resource = 'foo';
$container->$resource;
: 그것은 쉽게 구별 할 수 있습니다 http://php.net/manual/en/language.variables.variable.php
PHP 코드를 할 때 하나의 평가되지 않습니다으로, Safraz '초기 대답을 무시하십시오 인용 부호. 그러나 이것은 * 평가 될 것이다 :'echo "{$ container-> $ resource}";'. 그것은'$ container' 객체의 속성으로 평가 될 것입니다. 속성 이름은'$ resource'의 값입니다. 귀하의 예를 들어, 큰 따옴표로 묶을 때 예상 결과를 제공하지 않습니다. 자세한 내용은 Yada의 답변을 참조하십시오. http://stackoverflow.com/questions/2302531/what-does-return-container-resource-mean/2302545#2302545 –