PhpStorm 2018.3 Available
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.
Review release can be viewed on the page “ What's new ”. 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 owners of 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. (Beware, lots of pictures)
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 an injection of the language using annotations
/** @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!
The final release of PHP 7.3.0 is expected on December 6, so we implemented in advance support for all new constructs 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 violations of the rules, 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.
Replace with Alias
Imagine 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, for example, with
Baz, with all entries
Bazautomatically replaced .
The reverse action is also available - Inline Alias , which will remove the redundant alias. In addition, aliases are now displayed in italics to make it easier to distinguish them visually from real classes.
Change Class Member Visibility
With 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 multiple 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
To work with functions
sprintf()it became more pleasant thanks to the highlighting of placeholders and values when you hover the cursor. 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 the blog or twitter @phpstorm to follow the news.
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.
PhpStorm includes all the innovations and improvements of WebStorm , including:
- Improved support for templates Angular: auto-completion and navigation have 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 .
If you need to find anything, 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 pleasant 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!
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
- 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 became possible to generate test methods, as well as methods
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. A 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