Есть такой клёвый бандл KnpConsoleAutocompleteBundle от KnpLabs, суть которого заключается в автоподстановке команд для скрипта консоли Symfony2.
Т.е. набираешь “./app/console doc” жмешь [Tab] и получаешь “./console doctrine:”. Жмешь [Tab] ещё два раза и получаешь все варианты комманд:
$ ./app/console doctrine: doctrine:cache:clear-metadata doctrine:generate:form doctrine:cache:clear-query doctrine:mapping:convert doctrine:cache:clear-result doctrine:mapping:import doctrine:database:create doctrine:mapping:info doctrine:database:drop doctrine:query:dql doctrine:ensure-production-settings doctrine:query:sql doctrine:generate:crud doctrine:schema:create doctrine:generate:entities doctrine:schema:drop doctrine:generate:entity doctrine:schema:update |
Вобщем удобно очень :).
Одна проблема — не работает под Ubuntu )). Есть даже тикет соотвествующий от Люиса Кордовы “does not work on ubuntu debian“. В тексте issue он дает ссылку на translate моей темы “проблема с ConsoleAutocompleteBundle” с форума zf.ru.
Так к чему я это пишу? Прошел почти год с того момента как я столкнулся с этой проблемой. Ну, думаю, должны были за это время все разрулить и баг пофиксить. Разворачиваю тестовое приложение, настраиваю, ставлю бандл, настраиваю, пробую автокомплит и разочаровываюсь — проблема осталась (((.
Показал ссылку на обсуждение бага Жене (наш админ) и он посоветовал мне установить php 5.3.10 с ppa. И вот когда я его поставил, то все заработало! Ура 🙂
PS. На всякий случаю запишу, что ставил я его вот так:
$ sudo add-apt-repository ppa:nginx/php5.3 $ sudo aptitude update $ sudo aptitude upgrade --full-resolver |
В NetBeans команды Symfony доступны через контекстное меню.
В PhpStorm можно подключить консольные команды Symfony и при наборе команды буду фильтроваться по введеным символам, даже подсказки с параметрами команды будут показываться.
Ну это для тех, что кто любит все делать через IDE 🙂
В NetBeans как-то не удобно было их использывать. С консоли удобней.
А в PHPStorm нужно попробовать. Как ты настраивал? Иду в Setting => CLI Tools => “Choose framework to add” выбираю Symfony => “Path to Symfony” ввожу app/console (в соответсвии с руководством http://www.jetbrains.com/phpstorm/webhelp/enabling-a-command-line-tool.html), но кнопка ОК неактивна.
Все правильно. Только нужно указать app/console текущего проекта! Т.е. путь должен быть полный от корня до app/consol текущего проекта. После чего появится запись в настройках, в ней Tool Path будет выглядеть как “$PhpExecutable$” “$ProjectFileDir /app/console$”
С такими настройками консоль начинает работать в каждом проекте симфони.
Кстати команды симфони придется вводить через префикс s.
Например: s router:debug
После написания s вылазит подсказка со всеми командами фреймворка. Дальше по набору символов команды будут отсеиваться
please if you are going to write good things, do them in english. My native language is not even Spanish or Quechua, but i write in none of those. I write in English so you too should try it man 😀 thanks!
don’t need autocompletion for phpstorm, we want cli please!