JetBrains PhpStorm

What's New in PhpStorm 2017.1

Tools and Frameworks

Support for the Codeception testing framework

PhpStorm now supports the Codeception testing framework, starting with version 2.2.0. You can install it from Composer or PHAR. Run Configuration will help you run your tests locally, on a Vagrant machine, remote interpreter, or Docker.

Support for PHPUnit 6

PHPUnit 6 was released just recently, and now we are bringing support for it in PhpStorm. The new namespaced TestCase class is now recognized and supported by PhpStorm.

Blade support improvements

Good news for Laravel developers: PHPDoc in Blade injections is now supported. You can provide the type of variable inside a template to get code completion. Other improvements include support for @includeWhen, @component, and @slot directives, which are now nested in the document structure.

Editing Experience

Parameter hints

Thanks to Parameter hints in PhpStorm, code becomes more readable and easier to understand. Parameter hints are now showed for literals and nulls used as method arguments, helping you better understand the semantics of specific methods. We've also added an option to customize your inline parameter hints to fit your IDE color scheme.

Better support of PSR-0 and Rename refactoring

Now if you use Rename refactoring for a directory in PSR-0 root, it also changes the namespace of your class, and vice versa, when you rename a namespace. In addition, the Rename Class refactoring renames child classes and their files as appropriate.

Recognition of PHP class names in strings

PhpStorm 2017.1 recognizes PHP class names in strings. Class references will be now added to string literals in single quotes that will help you maintain the correct names in the Rename refactoring and navigate to classes more quickly.

Improved PHP formatting

PhpStorm 2017.1 brings several new useful code style options, such as:

  • Configurable spaces inside declare statements
  • Place ‘()’ for constructor
  • Convert else if/elseif to
  • Blank lines before namespace

Improvements in Auto-Import Functionality

Auto-import of functions and constants

PhpStorm 2017.1 can now automatically import functions and constants. To take advantage of this, go to in Settings | Editor | General | Auto Import | PHP and select Enable auto-import in file scope and/or Enable auto-import in namespace scope.

Auto-import from global namespace

As an alternative to auto-importing functions and constants from the global namespace, you can ask the IDE to use global references. You can find this option in Settings | Editor | General | Auto Import | PHP | Prepend functions and constants from the global space with ‘\’.

PHP Language Support

Full support of PHP 7 Uniform Variable Syntax

PhpStorm 2017.1 brings improvements for PHP 7 Uniform Variable Syntax in accordance with PHP RFC: Uniform Variable Syntax. Expressions such as isset/unset, foo()()().., and $some->foo()() style calls are now supported.

Current scope highlighting for alternative syntax

Alternative syntax statements similar to curly braces are now highlighted in the current scope. Now you can easily see and navigate to matching pairs in pHTML templates.

PHP 7.1: Improved support for anonymous classes

We’ve added support for anonymous classes, which now have a proper type, meaning that methods of anonymous classes will be correctly resolved. This unleashes the full power of PhpStorm, including Code Inspections, Find Usages, Rename Refactoring, Navigate to Declaration and more.

New code highlights

PhpStorm 2017.1 brings new highlighting of all extended/implemented methods, places where an import is used, and places where an exception is thrown (for try, catch, and @throws). This way your code is more visual, and it’s easier to grasp the important details. To use this feature, simply place the caret on extends, implements, use, catch or @throws.

Configurable PHP runtime

In PhpStorm 2017.1 it is possible to configure which PHP extensions are used in the project. It will help to keep completion lists neat and containing only relevant items.

Code Quality Analysis

Detect and convert PHP 4 style constructors to PHP 5.3+

Since PHP 4 constructors have been deprecated in PHP 7, we’ve added a new inspection to help detect and convert such constructors to PHP 5.3+ style –__construct. You can also press Alt+Enter for a related quick-fix.

New quick-fix for undefined variables

New quick-fix was added to help to resolve undefined variables by declaring it as imported in closure.

PHP Debugging

Grouping of user-defined constants in Debugger

Now all user-defined constants are grouped under the Constants node in the list of variables, which helps reduce the noise and keep the list of variables neat.

Allow choosing IP to be sent to Zend Debugger

PhpStorm 2017.1 automatically detects all host IPs to sent them to Zend Debugger. This is especially important when working on a machine with multiple IPs, e.g. if you use Vagrant/VirtualBox/VPN. You can also disable the check-box and provide required IPs manually. The option can be found in Settings|PHP | Debug | Automatically detect IDE IP.

Top-notch Web Technologies

Vue.js support

Enjoy coding assistance for Vue template language and the language of your choice in the script and style blocks of a .vue file. The IDE automatically completes Vue components and adds required imports for them. And we're just getting started!

Integration with Jest

Thanks to the new integration with Jest, you can now run Jest tests from the IDE, see test results in a handy treeview, easily navigate to the test source from there, and also debug Jest tests.

Completion for modules in package.json

PhpStorm now suggests package names in the project’s package.json file, and shows descriptions and latest versions for them.

IDE Improvements

Version control

Version control comes with the following changes:

  • Updated Log viewer for Git and Mercurial
  • New option called Ignore imports and formatting in the Diff dialog
  • Faster File History performance for Git

Search in Find in Path

The Find in Path dialog, which earlier received a Preview tab, has been reworked from the ground up and now shows instant results in the first place. What is more important, now you can open any selected result in the Editor simply by pressing Enter. To see results in the tool window, either click the button at the bottom or press Ctrl+Enter (Cmd-Enter for Mac OS X).

Database Tools

Improvements in database tools

Database tools in PhpStorm have been improved thanks to our colleagues on the JetBrains DataGrip team:

  • Better schema management in the Data Sources and Drivers dialog
  • Сolumns mapping and DDL preview in CSV import
  • Drag-n-drop for exporting/importing tables
  • SQL resolution scopes
  • Respect default search path

Other improvements:

  • Drag’n’Drop to/from Remote Host copies files instead of moving
  • Support for function/constant/namespace aliases in unused imports
  • Support for emoji in the editor
  • Auto import for React components
  • New Copy Type and Jump to Type Source actions from the Debugger Variables View
  • Option to ignore imports and formatting in the Diff dialog
Quick Navigation;

© Copyright 2000-2019  COGITO SOFTWARE CO.,LTD. All rights reserved