Как заставить PhpStorm понимать тип хранилища Doctrine - PullRequest
0 голосов
/ 20 мая 2018

Я использую Symfony 3.4 с Doctrine, и вот как я получаю одно из своих хранилищ:

$members = $this->getDoctrine()->getRepository(Member::class)->getAllMembersForClient($client);

При разработке с помощью PhpStorm среда IDE не знает, что возвращает метод getRepository(Member:class), и поэтому не знаетпредлагаем автозаполнение.Так что это показывает мне ошибку для вызова метода getAllMembersForClient($client)

Есть хороший способ исправить это?Как другие пользователи Doctrine решают эту проблему?

Ответы [ 2 ]

0 голосов
/ 20 мая 2018

Дважды проверьте, что вы установили плагин 'Symfony', так как он обычно обеспечивает функциональность для распознавания того, что getRepository(Member::class) вернет репозиторий, определенный аннотациями (или другими средствами), в PHPStorm.

Вы должны быть в состоянии найти его в меню: Настройки> Плагины> {поиск по 'symfony'}.Если его нет в списке, выберите «Обзор репозиториев ...» в списке плагинов.

Необходимо включить его для каждого проекта («Файл»> «Настройки»> «Языки и структура»> «PHP»> «Symfony»), а такжеустановите плагин аннотации Php.

0 голосов
/ 20 мая 2018

Самый простой способ - использовать временную переменную и набрать подсказку:

/* @var $membersRepository MemberRepository */
$membersRepository = $this->getDoctrine()->getRepository(Member::class);
$members = $membersRepository->getAllMembersForClient($client);
...