- PVSM.RU - https://www.pvsm.ru -
Всем привет! Мы рады представить вам третий мажорный релиз PhpStorm в этом году. Добавлены поддержка DQL, PHP CS Fixer, деплоймент на множество хостов одновременно, пулреквесты GitHub, новые рефакторинги и много других улучшений.
Обзор релиза можно посмотреть на странице “What’s new [2]”. Скачать новую версию можно там же или с помощью Toolbox App [3]. Как всегда, доступна 30-дневная пробная версия. Полную же версию могут использовать обладатели действующей подписки [4] на PhpStorm или All Products pack, а также студенты [5] и разработчики [6] проектов с открытым исходным кодом.
Под катом обзор основных нововведений. (Осторожно, много картинок)
Doctrine Query Language – это язык запросов объектной модели, который позволяет создавать запросы к базе данных, используя имена PHP классов и свойств. В PhpStorm 2018.3 реализована продвинутая поддержка DQL. Сущности и свойства работают как реальные ссылки и все соответствующие действия над ними тоже доступны: поиск использований, переход к объявлению, быстрое переименование, работа с ассоциациями (отношения) и многое другое.

Для обычной строки необходимо добавить инъекцию языка с помощью аннотации /** @lang DQL */. В случае если используется Nowdoc / Heredoc, то можно использовать маркер DQL.
В следующих версиях мы планируем развивать поддержку DQL, поэтому будем очень благодарны за ваши отзывы!
Финальный релиз PHP 7.3.0 ожидается уже 6 декабря, поэтому мы заблаговременно реализовали поддержку всех новых конструкций в PhpStorm: гибкий синтаксис Heredoc/Nowdoc [7], завершающие запятые в вызовах функций и методов [8], литералы в качестве первого операнда instanceof [9] и присвоение с помощью list() по ссылке [10].

Справедливости ради стоит заметить, что поддержка PHP 7.3 доступна и в предыдущей версии 2018.2 начиная с обновления 2018.2.5.
В PhpStorm уже была поддержка PHP_CodeSniffer, который помогает находить нарушения правил стиля кодирования. Однако исправлять эти ошибки вручную не так удобно. Особенно в большой кодовой базе или легаси-проекте. Теперь, с поддержкой PHP CS Fixer в PhpStorm, нужно лишь добавить PHP CS Fixer в качестве зависимости в composer.json и запустить composer install. Соответствующая инспекция в PhpStorm включится автоматически. После этого в файле с нарушениями правил можно запустить quick-fix, который сразу исправит все ошибки в файле.

В PhpStorm теперь есть поддержка трех инструментов: PHPCS, PHPMD, PHP CS Fixer. Для удобства мы объединили настройки всех инструментов на странице Preferences | Language & Frameworks | PHP | Quality Tools.
На основе зависимостей вашего composer.json, PhpStorm автоматически определит следующие стандарты кодирования: Symfony, Doctrine, Drupal, WordPress, Joomla!, Magento, MediaWiki, Yii 2, and CakePHP.
Replace with Alias
Представьте, что у вас есть какой-то импорт, например use FooBar. С помощью нового рефакторинга вы можете ввести алиас и заменить импорт, скажем, на use FooBar as Baz, при этом все вхождения Bar будут заменены на Baz автоматически.

Доступно и обратное действие – Inline Alias, которое уберет избыточный алиас. Кроме того, алиасы теперь отображаются курсивом, чтобы их было проще отличить визуально от настоящих классов.
Change Class Member Visibility
С помощью этого рефакторинга можно быстро и безопасно изменить модификатор видимости метода или свойства (public / protected / private). PhpStorm проанализирует использования выбранного метода или свойства, и предупредит, если есть места, где изменение невозможно и вызовет ошибку.

PhpStorm поддерживает деплоймент на удаленную машину через FTP/SFTP/FTPS, или в примонтированную папку. Иногда может потребоваться скопировать файлы на множество хостов сразу. Например, если у вас несколько инстансов приложения, или части приложения расположены на разных хостах. В PhpStorm 2018.3 мы добавили группы серверов, чтобы решить эту задачу. Вы можете добавить сколько угодно групп, и в каждую из них добавить сколько угодно хостов. После этого при деплойменте выберите группу и файлы будут отправлены на все хосты группы одновременно.

Работать с функциями printf() / sprintf() стало приятней благодаря подсветке плейсхолдеров и значений при наведении курсора. Также PhpStorm предупредит, если число параметров не совпадает с числом плейсхолдеров.
Кстати, в 2019 году мы планируем реализовать возможность описывать свои кастомные функции форматирования. Подписывайтесь на блог [11] или Твиттер @phpstorm [12], чтобы следить за новостями.
Теперь можно просматривать пулреквесты GitHub, не покидая PhpStorm. Выберите в меню VCS | Git | View Pull Requests, и откроется окно со списков пулреквестов вашего проекта. Тут же можно создать локальную ветку из пулреквеста.

Кроме того была добавлена поддержка подмодулей Git, возможность игнорировать символы пробела при слиянии изменений, а также загружать изменения из нескольких репозиториев одновременно, и многое другое.
PhpStorm включает в себя все нововведения и улучшения WebStorm [13], среди которых:
Подробнее обо всех улучшениях от команды WebStorm – на сайте [13].
Search Everywhere
Если вам нужно что-либо найти, нажмите Shift-Shift и начните печатать. В обновленном диалоге поиска Search Everywhere добавлены табы для поиска по классам, файлам, символам и IDE (настройками и доступным действиям). Переключать области поиска можно нажатием Tab.

Новая высококонтрастная тема для людей с ограниченными возможностями.

Из приятных мелочей:
Как всегда, PhpStorm включает в себя все фичи от команды DataGrip:

setUp и tearDown, запускаемые перед и после теста, соответственно.Пожалуй, это все, о чем мы хотели бы вам рассказать. Но это далеко не все, что вошло в релиз. Полный список изменений, как всегда, можно найти в очень большом release notes [14]. Сообщайте о проблемах в нашем трекере [15], ну или просто оставляйте свои комментарии под этим постом или в нашем блоге [16].
Спасибо за внимание!
Команда JetBrains PhpStorm
Автор: pronskiy
Источник [17]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/php-2/300055
Ссылки в тексте:
[1] Image: https://habr.com/company/JetBrains/blog/430878/
[2] What’s new: https://www.jetbrains.com/phpstorm/whatsnew/
[3] Toolbox App: https://www.jetbrains.com/toolbox/app/
[4] действующей подписки: https://www.jetbrains.com/webstorm/buy
[5] студенты: https://www.jetbrains.com/student/
[6] разработчики: https://www.jetbrains.com/buy/opensource/?product=phpstorm
[7] гибкий синтаксис Heredoc/Nowdoc: https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes
[8] завершающие запятые в вызовах функций и методов: https://wiki.php.net/rfc/trailing-comma-function-calls
[9] литералы в качестве первого операнда instanceof: https://github.com/php/php-src/blob/PHP-7.3/UPGRADING#L179
[10] присвоение с помощью list() по ссылке: https://wiki.php.net/rfc/list_reference_assignment
[11] блог: https://blog.jetbrains.com/phpstorm/
[12] Твиттер @phpstorm: https://twitter.com/phpstorm
[13] все нововведения и улучшения WebStorm: https://www.jetbrains.com/webstorm/whatsnew/
[14] release notes: https://confluence.jetbrains.com/display/PhpStorm/PhpStorm+2018.3+Release+Notes
[15] нашем трекере: https://youtrack.jetbrains.com/oauth?state=%2Fissues%2FWI
[16] блоге: https://blog.jetbrains.com/phpstorm/2018/11/phpstorm-2018-3-release/
[17] Источник: https://habr.com/post/430878/?utm_campaign=430878
Нажмите здесь для печати.