당신이 PHP5.4에 (new Object)->method()
을 할 수 있다고 가정 + 나는이 작업을 수행 할 수없는 이유 궁금 해서요 :PHP 할당 반환 값
<?php
class Item {
public $property = 'test';
}
class Container
{
public function getItem()
{
return new Item();
}
}
echo get_class(($object = (new Container())->getItem())); // returns Item
// this comes up with error
echo ($object = (new Container())->getItem())->property;
코드의 마지막 줄 트리거 왜 PHP Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR)
편집 :
를내 질문에 명확하게 답할 필요가있는 것처럼 보입니다. 내 질문과 관련이없는 답변을 볼 때 그렇습니다. 구문 오류를 없애는 방법을 묻지 않습니다. 내 질문은 : 이유식 ($object = (new Container())->getItem())
에 대한 속성에 액세스 할 수 없는데 get_class()
이 이것이 Item의 인스턴스라고 알려줍니다.
을, 왜하고 싶은가 ? – HamZa
그리고 이것에 대해서 :'echo (new Container()) -> getItem() -> property;'??? 아니면 당신의 요구와 함께 작동하게 만들 수 있습니다 :'echo $ property = (new Container()) -> getItem() -> property;' – shadyyx
@HamZa 나는 싫어, 나는 왜 get_class가 나에게 Item 클래스의 객체가 있지만 해당 속성에 액세스 할 수 없습니다. –