Software Update: PhpStorm 2017.3

Spread the love

JetBrains releases several development environments, such as IntelliJ Idea targeting java, CLion targeting c and c++, DataGrip targeting sql and PhpStorm targeting php. PhpStorm supports php versions 5.3, 5.4, 5.5, 5.6, 7.0 and 7.1. It offers on-the-fly error prevention, autocompletion, code refactoring, debugging and can also handle html, css, coffee and javascript. For an overview of the possibilities, we refer you to this page. To use PhpStorm is a license necessary, for business and home use you will have to pay for it but when it is used for education or non-commercial open source projects the license is free. JetBrains has released PhpStorm 2017.3 with the following improvements:

What’s New in PhpStorm 2017.3

Editor-based REST client

  • New REST client interface – With the new REST client, all the powers of the PhpStorm code editor are now available for your REST requests. Use code completion to assist you with composing a request, apply refactorings to it, store the request as part of the project and add it to VCS, execute the request, and examine server responses – all without leaving the code editor.
  • Support for environment variables – Define environment variables to hold the values ​​specific for your working environment, for example, the names of your development and production hosts. When composing a REST request, you can substitute its part with a variable to keep a single request suitable for multiple purposes.
  • Compare your requests – The diff viewer now handles server responses. If you want to see how your changes affect the response, simply execute a REST request several times. Then, pick a pair of results, invoke the diff viewer right from the code editor, and examine the differences.

PHP Language

  • Performance Improvements – We’ve been working hard on performance improvements in this release. As a result, typing latency in very complex PHP files has decreased significantly. We’ve examined typing latency in the mPDF main file, which is a 38k-line-long mix of PHP, JS, and HTML, and it is down by 75% in PhpStorm 2017.3!
  • Support for nullability in refactoring – PhpStorm 2017.3 brings nullability support introduced in PHP 7.1, which is now available for the Extract Interface and Change Signature refactorings. It will help you avoid omitting the type declaration, or providing the default null value for the function parameter when you really want to pass or return null. PhpStorm will now preserve nullability when you apply Extract Interface and will no longer signal an error when it detects a nullable type while applying Change Signature.
  • Improved code templates – To simplify the creation of classes in namespaced code, the New PHP Class dialog now lets you select a custom PHP file template. Use the ${NAMESPACE} variable in your template and take advantage of namespace completion and PSR-0 / PSR-4 namespace detection as you create the class. You can also specify the day, year, and month in any PHPDoc template, not just in file templates.

Bring exceptions under control

  • Unhandled exception – The new Unhandled exception inspection reports exceptions that are neither enclosed in a try-catch block nor documented using a @throws tag. The inspection helps you find all the places in your code where thrown exceptions would lead to a Fatal Error. Accordingly, you can resolve such issues by using quick-fixes like Add @throws tag and Surround with try/catch.
  • Redundant @throws tag – Ever forget to update your PHPDoc after refactoring your code? We’ve added the new Redundant @throws tag inspection, and the corresponding Remove @throws tag and Update PHPDoc quick-fixes will now help you clean up your PHPDoc.
  • Redundant catch clause – The new Redundant catch clause inspection and the corresponding Delete catch clause quick-fix will let you know when the exception you are trying to catch is actually never thrown and therefore your catch block is redundant.

Testing

  • Create new Codeception and PHPSpec test – The Create New PHP Test dialog adds new templates for the Codeception Unit, Codeception Functional, and PHPSpec test types so you can create new Codeception and PHPSpec tests with more ease.
  • Test method generation – No more manual creation of test methods! Use the brand new method selector in the Create New PHP Test dialog instead. Simply select all or just a couple of class methods for which you’re going to provide tests, and PhpStorm will generate the test class and the test methods stubs for you. Templates for all supported frameworks are provided to cover your needs for generating project-specific code.
  • Rerun of PHPUnit test with specific dataset – In PhpStorm 2017.3, you can rerun a failed PHPUnit test with specific dataset. If you have a test method that uses the data provider and only one of the data sets fails, you don’t have to re-run the entire test anymore. Simply choose a specific data set from the previous test run and Run/Debug it again.
  • Undefined PHPUnit data provider – PhpStorm 2017.3 introduces the Undefined PHPUnit data provider inspection, which indicates a @dataProvider method that’s not found in unit tests. You can then easily create the missing method by applying the suggested Create data provider quick-fix.

Twig support

  • Injections in Twig templates – We’ve implemented language injections for Twig custom tags and named blocks. You can inject a language into the named block or between custom tags. You can also create permanent injection rules.
  • Improved Twig Formatting – PhpStorm 2017.3 brings improved Twig formatting that can now handle complex structures and provide correct indentation for them.

Web Technologies Support

  • Improvements in Vue.js support – This update brings lots of improvements to PhpStorm’s support for Vue.js! Code completion and navigation to the definition now work for Vue props, properties in the data object, computed properties, and methods. Closing curly braces are now added automatically in Vue templates. We’ve also added a collection of code snippets for Vue. These code templates can help you save time typing some frequently used blocks of code. With a new Vue file template, you can also create new components faster.
  • Better code completion and documentation for JavaScript – Code completion and parameter info for the standard JavaScript objects and methods and Web APIs has improved, as these features are now powered by the TypeScript declaration files. The documentation available via F1 now also includes a brief description for methods, which either comes from the bundled definition files or is fetched from MDN.
  • New Pull Member Up refactoring – With the new refactoring you can now move class methods up the class hierarchy – from your current JavaScript or TypeScript class to its parent class or interface. Or if there’s no parent class yet, you can extract fields and methods to a superclass using the new Extract superclass refactoring.
  • 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 Extract type alias and Extract interface refactorings in TypeScript, multiple JavaScript versions in a project, improved Jest integration, better support for CSS, Import code style from ESLint and TSLint and other.

Version Control

  • Switch between branches preserves your workspace
  • Changelists can now be renamed in the Shelf tab
  • D’n’D between Shelf and Local Changes tabs

Database Tools

  • Improved Database view
  • SQL generator
  • JOIN statement completion
  • SSH tunneling

Other improvements:

  • Redesigned Code Style|PHP settings page
  • New Composer Log
  • Improved PHPUnit Run configuration
  • Define visibility for initialize fields intention

Version number 2017.3
Release status Final
Operating systems Windows 7, Linux, macOS, Windows 8, Windows 10
Website JetBrains
Download
License type Freeware/Paid
CLionIntelliJIntelliJ IdeaPHPPhpStormPHPUnitSoftwareTwigWindows