В PHP, как быстро получить доступ к свойству объектов из возврата? - PullRequest
2 голосов
/ 05 марта 2011

Моя проблема в этом.

Функция возвращает объект, и я хочу получить доступ к его свойству. Выдает и ошибка, когда я пытаюсь сделать это так

$this->FunctionThatReturnsAnObject()->Property;

Сейчас я создаю новую переменную и извлекаю из нее свойство, например:

$newVar=$this->FunctionThatReturnsAnObject();
$property=$newVar->Property;

Это правильный способ сделать это?

1 Ответ

2 голосов
/ 05 марта 2011

Это прекрасно работает в современных версиях PHP.

[mcg@mcg-workstation ~]$ php -a
Interactive shell

php > class Foo { public function functionThatReturnsAnObject() { return new Bar(); } }
php > class Bar { public $property = 'Hello, world.'; }
php > $f = new Foo();
php > echo $f->functionThatReturnsAnObject()->property;
Hello, world.
php >

Если вы столкнулись с ошибкой, нам нужно знать, что это за ошибка.Как упоминалось в комментариях, вы не сможете сделать это в PHP4, но вам не следует использовать PHP4 в современную эпоху с самого начала.Пока вызываемый вами метод экземпляра возвращает объект, вы можете напрямую работать с этим объектом.(Вы не можете сделать это из конструктора прямо сейчас: new Foo()->functionThatReturnsAnObject() не будет работать, потому что команда PHP внутренностей полна людей, которые думают, что это каким-то образом сбивает с толку. Я не придумываю это.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...