PhpStorm 2017.2.1

Adds new Composer actions including Update, Install & Remove Dependencies, plus Self-update.
August 04, 2017 - 9:20
New Version


  • Composer
    • New Composer actions - Now you can execute the actions Update Dependencies, Install Dependencies, Remove Dependencies, and Self-update directly from the IDE, without having to switch to the command line.
    • PhpStorm and composer.json settings synchronization - Since composer.json contains the most up-to-date information about project, the synchronization of new settings between PhpStorm and composer.json ensures that PHP Language Level, PhpStorm Source and Test folders exactly match the project settings and structure specified in composer.json. This significantly simplifies project configuration in PhpStorm.
    • Seamless work with composer global installation - Now you can use globally installed composer. PhpStorm detects whether you have it installed and simplifies project creation in case you do. You can also set globally installed composer for existing projects and make it default for all projects. All this will save you time that you spent on looking for the previously downloaded composer.phar or on downloading yet again composer.phar into the project.
  • PHP Runtime
    • Docker Compose - PHP interpreter based on Docker Compose is now supported in PhpStorm. Now you don’t have to duplicate all settings, such as volumes, networks, environment variables, and others, from docker-compose.yml to PhpStorm. Docker Compose based interpreter includes all the familiar features of remote interpreters, so you can run/debug PHP code, and execute/debug PHPUnit, Codeception, Behat and PHPSpec tests.
    • Detection of enabled/disabled extensions for PHP interpreter - In the previous PhpStorm release, it was possible to configure which PHP extensions are used in the project. Automatic detection of enabled/disabled extensions from the selected PHP interpreter has now been added. This will help you synchronize your project extension settings and extensions that are actually installed in your PHP distributive. The feature works for local PHP interpreters and for all types of remote ones as well.
    • Preserve state of Start Listening for PHP Debug Connection option - In PhpStorm 2017.2, if you had Start Listening for PHP Debug Connection enabled in a project, the option will be restored on project reopening. This will help you avoid situations where debugging doesn’t work because you forgot to enable the option.
  • PHP Language Support
    • Reworked polymorphic types support - PhpStorm has completely reworked support for polymorphic types, such as $this, static, self and parent. This fixes many related issues, for instance, missing type in chain call if a method has a double return type, lost type with new static() call if method from base class returns $this, returning self in traits not resolved correctly, and many others. In addition, support for composed traits as been improved.
    • Support of PHP 7.2 - PHP 7.2 is now in Beta and now you have a chance to experiment with the new version of PHP in PhpStorm. PhpStorm 2017.2.1 brings support for all the features of PHP 7.2, including a possibility for overriding of abstract methods, parameter type widening, trailing commas in list syntax, and object typehint.
    • Better refactoring for PHP 7/7.1 - PhpStorm 2017.2 brings better refactoring for PHP 7/7.1. In particular, return types are now supported for the Change Signature refactoring, and the Extract Constant refactoring now allows you to use visibility level for constants.
    • $this highlighting - In PhpStorm 2017.2, when you place your caret on $this, PhpStorm highlights all usages of this variable across the whole class. It can be extremely helpful as you can easily see all the usages of the variable.
    • New inspections - PhpStorm 2017.2 bring new handy inspections, such as
      • Statement has empty body inspection.
      • Usage of strict_types declaration for PHP 7 and higher.
      • Method declaration of super class is incompatible with implemented interface.
      • Short open tag usage inspection.
  • Testing
    • Automatically run PHPUnit tests - In PhpStorm 2017.2, you can re-run PHPUnit tests automatically with a specified delay. Enable auto-run for a particular configuration, set the delay value, and your tests will be re-run automatically with that delay after you stop editing a file.
    • Unified Test Frameworks settings - PHPUnit, Behat, PHPSpec, and Codeception testing frameworks now have a single settings page.
  • Improved PHP Formatting
    • New formatting options - PhpStorm 2017.2 brings new useful code style options:
      • Spaces around null coalescing operator.
      • New formatter options for blank lines.
      • New parenthesis options for if statements.
      • Separate option for brace placement for closures.
      • New Return type on new line option.
  • Web Technologies Support
    • Support for enhanced webpack module resolution - Coding assistance in JavaScript files now respects webpack module resolution. This means that now, if you’re using a complex webpack configuration with aliases and multiple modules, PhpStorm will properly resolve the import statements.
    • Import from ESLint - You can now import some ESLint code style rules to the IDE’s JavaScript code style settings. Reply ‘Yes’ when prompted about this in the .eslintrc file to apply the matched rules and make the IDE formatting more consistent with your ESLint configuration.
    • Rearrange code for JavaScript and TypeScript - The new code style options allow you to configure how different blocks of code such as the constructor, fields and methods are ordered in your JavaScript and TypeScript classes. Call the Rearrange Code action or use it together with Reformat Code to make code more readable and consistent. As usual, all the features and improvements of WebStorm are available in PhpStorm, either out of the box or with free plugins available in the repository. Other noteworthy web-related features include support for Angular Material, parameter hints and type info in TypeScript, move symbol refactoring, and other.
  • IDE Improvements
    • Version control - Version control comes with the following changes:
      • Reverting and rewording commits.
      • Formatting commit messages.
      • Reworked Shelf.
    • Find in Path improvements - The Preview panel in Find in Path now has a “gutter” – a left-side pane like that in the editor – with line numbers, navigation icons, and local change markers. In addition, search results from the same lines are now merged together.
    • Pause indexing - The indexing process now can be paused, for instance, if you need your CPU power for an urgent task.
  • Database Tools
    • Improvements in database tools - Database tools in PhpStorm have been improved:
      • Several databases in one PostgreSQL data source.
      • Get notified when a large query is finished.
      • Transaction Control.
  • Other improvements:
    • Unified settings for PHP frameworks
    • SSH-Agent support
    • Create new field/method actions for PHP UML diagrams
    • Better HiDPI support
    • Blade: support for @guest and @endguest
    • Navigation to an appropriate loop from break/continue
PhpStorm 2017.2.1
New Composer actions.


PHP IDE with refactorings, code completion, on-the-fly code analysis and coding productivity orientation.

PhpStorm is also available in:

Got a Question?

Live Chat with our JetBrains licensing specialists now.