@topuserman

Почему IDE не видит методы такого объекта?

Почему IDE не видит методы такого объекта ? Хотя если запустить код, то все работает.

031b7b4173.jpg

Метод getMembers() возвращает коллекцию объектов MemberEntity (также пробовал обычный массив объектов), если в цикле попробовать вызвать какой-то метод объекта, то его методы видны, только если указать явно тип в phpdoc.
  • Вопрос задан
  • 197 просмотров
Решения вопроса 1
Maksclub
@Maksclub Куратор тега PHP
maksfedorov.ru
IDE не могут знать, какие элементы в массиве, коллекция = массив так или иначе, если коллекция объект, то элементы все равно хранятся в массиве класса коллекции. А массивы не типизированные в PHP по части конкретного элемента.

Потому и подсветить не может, мало ли, что от туда придет...

Можно так обозначить:
/** @return MemberEntity[] */
public function getMembers() {}

Тогда не нужно будет во всех вызывающих местах проставлять тип для каждой переменной в цикле
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы