
Hello! We are pleased to present you the third major release of PhpStorm this year. Added support for DQL, PHP CS Fixer, deployment to many hosts at the same time, pull-back GitHub, new refactorings and many other improvements.
An overview of the release can be found on the “
What's new ” page. Download the new version in the same place or using the
Toolbox App . As always, a 30-day trial version is available. The full version can be used by the
current subscription to PhpStorm or All Products pack, as well as
students and
developers of open source projects.
')
Under the review of the review of major innovations. (Be careful, a lot of pictures)
DQL support
Doctrine Query Language is an object model query language that allows you to create database queries using PHP class names and properties. PhpStorm 2018.3 introduces advanced DQL support. Entities and properties work as real links and all relevant actions on them are also available: search for uses, transition to announcement, quick renaming, work with associations (relationships) and much more.

For a regular line, you need to add a language injection using the annotation
/** @lang DQL */
. If Nowdoc / Heredoc is used, then the DQL marker can be used.
In the next versions we plan to develop support for DQL, so we will be very grateful for your feedback!
PHP 7.3
The final release of PHP 7.3.0 is expected on December 6th, so we implemented in advance all new constructions support in PhpStorm:
flexible Heredoc / Nowdoc syntax ,
trailing commas in function and method calls ,
literals as the first instanceof operand and
assignment using list () by link .

For the sake of fairness, it is worth noting that PHP 7.3 support is also available in the previous version 2018.2 starting from update 2018.2.5.
PHP CS Fixer Support
PhpStorm already had support for PHP_CodeSniffer, which helps to find violations of coding style rules. However, correcting these errors manually is not so convenient. Especially in a large code base or legacy project. Now, with the support of PHP CS Fixer in PhpStorm, you just need to add PHP CS Fixer as a dependency in
composer.json and run composer install. The corresponding inspection in PhpStorm will turn on automatically. After that, you can run quick-fix in the file with rules violations, which will immediately correct all errors in the file.

Simplified quality tooling
PhpStorm now has support for three tools: PHPCS, PHPMD, PHP CS Fixer. For convenience, we have combined the settings of all the tools on the
Preferences | Language & Frameworks | PHP | Quality Tools .
Automatic selection of standards for PHP_CodeSniffer
Based on the dependencies of your
composer.json , PhpStorm will automatically determine the following coding standards: Symfony, Doctrine, Drupal, WordPress, Joomla !, Magento, MediaWiki, Yii 2, and CakePHP.
New refactorings
Replace with AliasImagine that you have some kind of import, for example
use Foo\Bar
. With the help of a new refactoring, you can enter an alias and replace the import with, say,
use Foo\Bar
as
Baz
, and all occurrences of
Bar
will be replaced with
Baz
automatically.

The reverse action is also available -
Inline Alias , which will remove the redundant alias. In addition, aliases are now displayed in italics to make them easier to distinguish visually from real classes.
Change Class Member VisibilityWith this refactoring, you can quickly and safely change the visibility modifier of a method or property (
public / protected / private
). PhpStorm will analyze the use of the selected method or property, and warn you if there are places where change is impossible and will cause an error.

Multiple host deployments
PhpStorm supports deployment to a remote machine via FTP / SFTP / FTPS, or to a mounted folder. Sometimes it may be necessary to copy files to multiple hosts at once. For example, if you have several application instances, or parts of the application are located on different hosts. In PhpStorm 2018.3, we added server groups to solve this problem. You can add as many groups as you like and add as many hosts as you like. After this, when deploying, select a group and files will be sent to all hosts of the group at the same time.

Improvements for string formatting features
Working with
printf()
/
sprintf()
functions
printf()
become more pleasant thanks to the highlighting of placeholders and values ​​when you hover over. PhpStorm will also warn you if the number of parameters does not match the number of placeholders.
By the way, in 2019 we plan to implement the ability to describe our custom formatting functions. Subscribe to a
blog or
Twitter @phpstorm to follow the news.
Pulkvesta GitHub
Now you can view GitHub pulltows without leaving PhpStorm. Select
VCS | Git | View Pull Requests , and a window will open from the pull list of your project. Here you can create a local branch from pullrequest.

In addition, support was added for Git submodules, the ability to ignore space characters when merging changes, as well as download changes from several repositories at the same time, and much more.
Web technologies
PhpStorm includes
all the innovations and improvements WebStorm , including:
- JavaScript auto import
- Improved support for templates Angular: auto-completion and navigation become more precise
- Vuetify support
- For React applications, auto-completion has been improved, and the inspection mechanism will warn about undefined components.
More information about all the improvements from the WebStorm team - on the
site .
IDE Improvements
Search EverywhereIf you need to find something, press Shift-Shift and start typing. In the updated Search Everywhere search dialog, tabs have been added for searching by classes, files, symbols, and IDE (settings and actions available). You can switch search areas by pressing Tab.
New high contrast theme for people with disabilities.

From the nice little things:
- Multi-line TODO comments
- Multi-line search in Find in Path
- The terminal now after closing PhpStorm saves the names of open tabs and current working directories!
Database
As always, PhpStorm includes all the features of the DataGrip command:
- Cassandra support (as well as starting from 2018.2.2, and ClickHouse)
- A lot of improvements in autocompletion
- PostgreSQL extension support
- Ability to quickly set table aliases

Other improvements
- In the debugger window you can now quickly find the variable, just by starting to print its name.
- When you start HTTP requests, launch configurations are automatically created. Such configurations can also be created manually.
- When developing PHPUnit tests, it was possible to generate test methods, as well as
setUp
and tearDown
, run before and after the test, respectively. - PhpStorm 2018.3 will automatically configure test environments (PHPUnit, Codeception, Behat, PHPSpec) based on composer.json and configuration files, and will also create appropriate launch configurations.
Perhaps this is all that we would like to tell you. But this is not all that was included in the release. The full list of changes, as always, can be found in a very large
release notes . Report problems in
our tracker , or just leave your comments under this post or in our
blog .
Thanks for attention!
Team JetBrains PhpStorm