Начиная с PhpStorm 2.0 можно использовать Symfony command line tool при помощи Command Line Tool Support.
Ниже приводится небольшое руководство по использованию. Вам понадобится PhpStorm 2.0 и Symfony 1.1 или более поздней версии (включая Symfony 2.0 BETA – в оригинальное руководство не входило, но мной проверено). Если у вас нет Symfony, руководство по установке вы можете найти здесь.
В первую очередь нам нужно настроить новый command line tool.
Загрузка Symfony Commands
Откройте меню Settings | Command Line Tool Support и нажмите в появившемся окне кнопку Add. Вам будет предложено три опции, выберите “Symfony”:
Затем укажите путь к файлу $Symfony_home$/data/bin/symfony. Для типичной конфигурации (из руководства симфони) путь будет следующим: $Project_root$/lib/vendor/symfony/data/bin/symfony. Описания команд Symfony будут загружены и сохранены в файл среди прочих настроек проекта. В диалоговом окне настроек это будет выглядеть следующим образом:
- Поле Tool Path содержит путь к CLI (php и фреймворка) и будет различаться в зависимости от фреймфорка. Для Symfony это “php $path_to_symfony$” и “$Zend_Framework_Tool_home$/bin/zf.bat” для Zend Framework. $PhpExecutable$ – это макрос, он заменяется на путь к исполнимому файлу CLI PHP, $ProjectFileDir$ это тоже макрос, он заменяется на полный путь к проекту. Макросы позволяют легко перемещать настройки между несколькими IDE.
- Полный Tool Path может быть очень длинным и неудобным в наборе, поэтому имеется алиас, который представляет из себя строку, которую можно использовать для вызова CLI вместо Tool Path.
- Чекбокс “Enable” поможет вам легко включать и отключать команды фреймворка из списка автоподстановки, не удаляя настройки. В данном случае чекбокс включен, таким образом команды Symfony будут отображаться в списке. Нажмите Ctrl +Shift+X или выберите в меню Tools | Run Command… и наберите алиас “s”:
Используем Symfony Command Line
Теперь создадим простой проект на Symfony c использованием Command Line Tool, как это описано в “Getting Started” документе.
Создаем проект Symfony
Нажимаем Ctrl +Shift+X и набираем:
Команда имеет два параметра:
- Обязательный параметр “name”. Мы воспользуемся макросом $ProjectName$, который будет заменен на наименование проекта PhpStorm.
- Опциональный параметр “author”.
Перед выполнением команды макрос $ProjectName$ будет заменен на имя проекта и алиас “s” будет заменен на Tool Path. В данном случае это будет что-то типа “usr/bin/php /home/sfproject/lib/vendor/symfony/data/bin/symfony”.
Результат – будет создан проект:
Настройка доступа к базе данных
Теперь настроим доступ к БД при помощи команды “php symfony configure:database “mysql:host=localhost;dbname=dbname” root mYsEcret”
Создание приложения Frontend
Давайте создадим приложение frontend без экранирования вывода (что в общем-то сделает его менее защищенным!). Нажмите Ctrl +Shift+X и наберите:
Заметьте, что опции команд также поддерживаются. В примере выше это была опция –escaping-strategy=false.
Результат работы команды:
Права доступа к директориям
Следующим шагом является установка прав на директории cache/ и log/. Это также можно сделать при помощи Command Line Tool Support. Тул попытается выполнить команды (макросы таже доступны). Но имейте в виду, что команды “chmod” по-умолчанию нет в windows системах (если вы не используете например cygwin).
Результат:
Примечание:
Вообще говоря для установки прав
можнонужно использовать команду “symfony project:permissions” // hudson@work
После этого надо настроить web-сервер, как описано в документации, и запустить его.
Тестирование
Проверьте доступ к новому приложению – откройте в браузере http://localhost:8080/index.php/ и затем проверьте доступ к dev окружению http://localhost:8080/frontend_dev.php/.
Если вы видите такую страницу, ваш проект успешно создан:
Добавляем пользовательский task.
Давайте создадим простой таск “hello”. Подразумевается что ранее вы уже настроили команды Symfony, как это описано выше и создали проект.
Нажмите Ctrl+Shift+X и выполните команду:
В директории lib/task будет создан класс “helloTask”.
Откройте класс helloTask в редакторе и выполните следующие несложные изменения в его методе “execute”:
Откройте description file для Symfony: выберите Settings | Command Line Tool Support и нажмите кнопку “Open definition in editor”.
Добавьте описание новой команды “hello”:
Текст описания:
<command> <name> hello </name> <help> My first task with no parameters. </help> </command> |
Для проверки новой команды выполните:
Результат выполнения отобразится в консоли:
Решение проблем
Если у вас возникнут проблемы после редактирования файла описания и нужная вам команда не появится, откройте таб Validation в консоли. Этот таб показывает информацию о проблемах парсинга файла описания:
Вы также можете получить информацию о формате файла описания из схемы .idea/commandlinetools/schemas/frameworkDescriptionVersion1.1.xsd. Этот путь указан в созданном файле описания и редактор выполняет валидацию автоматически с его использованием.
Hope this hepls как говорится, ваш hudson@work 🙂
Лучшая IDE! Сидел и на Zend Studio and Netbeans and Eclipse, но PhpStorm понравился больше всех.
Не могу не согласиться )
А я по прежнему сижу на нетбинсе.
Раз в полгода ставлю шторм, открываю, минут 15 пытаюсь работать, потом блюю, закрываю, удаляю.
Но не хочу холиварить, просто может быть у меня аллергия на него.
Хотя нетбинс меня тоже не полностью устраивает. Я вообще оочень привередливый в этом плане.
Нетбинс тоже очень хорош. Особенно потому что бесплатен.
Слетели картинки, пжл поправьте.
Спаибо!
Чёрт… как знал что надо к себе закачивать. Поленился… ((( Попробую восстановить на неделе.
Статья по настройке командной строки в PhpStorm http://plutov.by/post/command_line_php_storm
А оригинал по которому эта статья написана не знашь куда переехал? А то я картинки прямо из него вставлял.