История обновлений PhpStorm 7
Нововведения PHP Storm 7
- Поддержка PHP 5.5:
- Генераторы (
generators
) - простой способ реализации итераторов (example screenshot); Finally
в конструкцииtry-catch
;- Поддержка
list()
вforeach
циклах; - Поддержка выражений в
empty()
иisset()
; - Разыменование массивов и строк (помним, что кириллица кодируется 2мя байтами?!):
echo ['a', 'b'][0] . 'ab'[1]; // ab
- Немного улучшена подсветка кода;
- Расширены возможности рефакторинга - перемещение статических методов и генерация интерфейсов из указанных методов. Также рекомендую заглянуть в Refactoring меню - там много полезного;
- Автоматическое распознавание отладчиков XDebug, Zend Debug;
- Поддержка PHPUnit 3.7;
- Эмуляция и развертывание Google App Engine;
- Расширена поддержка frontend:
EJS
,Mustache
,Handlebars
,AngularJS
,Web Components
.
Возможности PHP Storm 6
Видео, PhpStorm Features, Продуктивное использование PHPStorm, Что нового в PhpStorm 6.0, PhpStorm 6.0.1, - Темная тема Darcula, под которую, видимо, и стилизировали иконки. До этого я использовал темную тему Monokai для окна редактора, а для интерфейса была Alloy. IDEA Theme в которой панели окна были светлыми. Тема Darcula затемняет не только область редактора, но и все блоки интерфейса. Шрифт темы приятный, но для меня мелкий - я сразу заменил его на DejaVu Sans (Ubuntu Lite) 14.
- Перемещение методов между родительским и дочерним классом: Right Click » Refactor » Pull Members Up / Down.
- Можно изменить сигнатуру ф-ции и порядок аргументов: Right Click » Refactor » Change Signature. Эти изменения будут внесены как внутрь ф-ции, так и по всему коду где вызывается ф-ция.
- Перемещение класса (опционально файла) в другой неймспейс с заменой импорта (всех конструкций use): Right Click » Refactor » Move [F6].
- Реорганизация кода (перемещение в начало класса его свойств): Code » Rearrange Code.
- Сортировка по алфавиту и сворачивание блока импорта NS: Code » Optimize Imports...
- При создании нового PHP класса (Alt+Insert на выбранном каталоге) PHPStorm 6 автоматически определяет NameSpace, в котором мы работаем.
- Автоматический импорт не используемых классов. Т.е. при инстансе не подключенного в use классе, PHPStorm добавит констуркцию use.
- Встроенный REST клиент для отладки запросов: Tools » Test RESTfull Web Service. Позволяет задать URL, тип и параметры запроса, а также заголовки.
- Улучшена поддержка composer. При создании нового проекта можно указать тип, как "Composer Project".
После этого у нас есть возможность найти и загрузить основной зависимый пакет на лету через GUI, напримерsymfony/framework-standard-edition
. Однако я не понимаю зачем это нужно! Поскольку, при первичной загрузке Symfony2 в проект попадают только вендоры (нетapp/
), поэтому нет возможности использовать консоль Symfony2. Хотя, возможно, я что-то делаю не правильно...
В дальнейшем мы также можем находить и добавлять доп. зависимости из GUI. Для удаления зависимостей нам таки придется правитьcomposer.json
вручную:
Для добавления composer'а в пустой проект нужно проинициализировать composer и добавить необходимые зависимости: On Project » Right Click » Composer » Init. - Дополнение кода для Symfony2, ZF, composer во встроенной консоли Ctrl+Shift+X. Изначально у меня не заработал автокомплит - нужно было внести некоторые настройки. Идем в Settings » Command Line Tool Support и добавляем нужные фреймворки и библиотеки (composer), прописываем путь к composery (если нужно, к исполняемому фйлу symfony2 -
app/console
) и задаем желаемые алиасы: - Можно добавить собственные команды для кодкомплита;
- Появилась возможность D&D (перетаскивать файлы) между локальным и удаленным хостом;Перемещение файлов между удаленным сервером очень удобная штука.
Как добавить Remote Host?
Для добавления нового хоста идем в Tools » Deployment » Browse Remote Host и жмем кнопку "Обзор". Появится окно создания нового удаленного хоста "Add Server". Подробнее. - Улучшена поддержка Emmet (Zen Coding) для HTML/CSS. Сокращенные конструкции раскрываются по Tab.
- Новый Database Schema Editor. С помощью новых инструментов редактирования структуры БД можно добавить, удалить или переименовать таблицы, столбцы, ключи и индексы для баз данных. Diff Tool позволяет генерить SQL для миграции между разными версиями БД.
- Также мне импонирует новый дизайн тултипов и оповещений - меня аж бесил фон предыдущих тултипов;