Задать вопрос
@topuserman

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

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

031b7b4173.jpg

Метод getMembers() возвращает коллекцию объектов MemberEntity (также пробовал обычный массив объектов), если в цикле попробовать вызвать какой-то метод объекта, то его методы видны, только если указать явно тип в phpdoc.
  • Вопрос задан
  • 208 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Решения вопроса 1
Maksclub
@Maksclub Куратор тега PHP
IDE не могут знать, какие элементы в массиве, коллекция = массив так или иначе, если коллекция объект, то элементы все равно хранятся в массиве класса коллекции. А массивы не типизированные в PHP по части конкретного элемента.

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

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

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

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

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