PHPStorm, Silex DI индексирует завершение кода

Я пробую PHPStorm и у меня возникают проблемы с завершением кода. Я пишу проект с Silex фреймворком и столкнулся с отсутствием в PHPStorm автодополнения кода для Silex контейнера внедрения зависимостей. Например, он не завершает код $app['twig']-> или $app['db']-> или какой-либо другой службы. Единственное решение, которое я нашел, - это сделать что-то вроде этого

$db = $app['db'];
/** @var $db \Doctrine\DBAL\Connection */
$db->....

А затем PHPStorm выполнит завершение кода. Сервисы регистрируются через интерфейс ServiceProvider. Есть ли способ заставить PHPStorm выполнять автодополнение кода в таких случаях без дополнительных переменных и комментариев?


person schyzoo    schedule 31.01.2013    source источник
comment
Просто чтобы вы знали, PhpStorm еще не может этого сделать, но ни одна другая IDE, о которой я знаю, этого не делает.   -  person Matthieu Napoli    schedule 01.02.2013
comment
Ага. Но я нашел плагин PhpStorm под названием Magicento, предоставляющий хорошие функции завершения/навигации/и т. д. для проектов на основе Magento. Я собираюсь протестировать плагин (просмотрел только видеоролики об использовании), и если он работает хорошо, есть способ расширить возможности завершения (но с помощью дополнительной горячей клавиши) во многих отношениях.   -  person schyzoo    schedule 01.02.2013
comment
ArrayAccess — это то, что меня раздражало в Pimple, поэтому я написал Props, базовый DIC, основанный на __get и __вызов   -  person Steve Clay    schedule 17.02.2013
comment
Вы не хотите использовать DI таким образом... Если вы хотите использовать $db, например, в одном из ваших классов модели, вам нужно сделать что-то вроде этого: $model = new Model(); $model->setDbConnection($app['db']); после этого у вас будет автозаполнение...   -  person inf3rno    schedule 27.10.2013


Ответы (2)


Насколько мне известно, в настоящее время это невозможно, однако в настоящее время ведется работа по добавлению поддержки общих фабричных шаблонов, см. эту проблему в их системе отслеживания проблем:

http://youtrack.jetbrains.com/issue/WI-6027

Разработчики PhpStorm приветствуют запросы новых функций в своем трекере проблем и довольно быстро реагируют на них. Таким образом, вы можете подать запрос функции

Кроме того, это может быть связано с вашим вопросом: http://youtrack.jetbrains.com/issue/WI-5304

person thaJeztah    schedule 31.01.2013

Вот плагин для PHPStorm/Intellij IDEA: https://plugins.jetbrains.com/plugin/7809?pr=

Еще не пробовал, но выглядит многообещающе...

Редактировать: только что сделал быстрый снимок, и это выглядит действительно круто и просто в настройке:

  • Установите плагин через менеджер плагинов IDE

  • Добавьте следующую зависимость:

"require": {
    "sorien/silex-pimple-dumper": "~1.0"
}
  • Зарегистрируйте провайдера:

    $app->register(новый Sorien\Provider\PimpleDumpProvider());

Готово.

person user2345998    schedule 11.07.2015