Поддержка автозаполнения PhpStorm для неизвестных свойств объектов, управляемых Pimple?

У меня есть следующий код в приложении от Silex:

$uknownObj->unkownRef

$uknownObj будучи контейнером для инъекций зависимости.

я знаю это unkownRef например MyCoolObj,

Теперь, как я могу сказать IntelliJ / PhpStorm, чтобы он помог мне с автозаполнением этого объекта?

3

Решение

Просто назначьте unkownRef к переменной и предоставить аннотацию, как это.

/** @var MyCoolObj $obj */
$obj = $uknownObj->unkownRef;
3

Другие решения

Вы можете использовать комментарии phpdoc в соответствии с предложением xmoex или указать тип с instanceof:

введите описание изображения здесь

1

Вы можете использовать phpdoc в классе контейнера, вот что я использую с Slim Framework:

/**
* @property-read \Monolog\Logger logger
* @property-read \Slim\Views\Twig view
* @property-read \PDO db
*/
class Container extends PimpleContainer implements ContainerInterface
{
}
1

Я просто решил это, создав просто _ide_autocomplete.php файл в корне проекта, где я только что создал фиктивный класс со всем ключом slim container в качестве свойства.
Затем в моих маршрутах, в начале я просто поместил phpblock, как это

/** @var Dummy $this */

Мои исходники — статьи в https://blog.shaharia.com/slim-php-framework-phpstorm-ide-autocompletion-solution/

0
По вопросам рекламы [email protected]