Ubuntu, KnpConsoleAutocompleteBundle и php 5.3.10

Есть такой клёвый бандл 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

5 thoughts on “Ubuntu, KnpConsoleAutocompleteBundle и php 5.3.10

  1. В 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), но кнопка ОК неактивна.

  2. Все правильно. Только нужно указать app/console текущего проекта! Т.е. путь должен быть полный от корня до app/consol текущего проекта. После чего появится запись в настройках, в ней Tool Path будет выглядеть как “$PhpExecutable$” “$ProjectFileDir /app/console$”
    С такими настройками консоль начинает работать в каждом проекте симфони.
    Кстати команды симфони придется вводить через префикс s.
    Например: s router:debug
    После написания s вылазит подсказка со всеми командами фреймворка. Дальше по набору символов команды будут отсеиваться

  3. 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 :D thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>