JetBrains brengt verschillende ontwikkelomgevingen uit, zoals IntelliJ Idea gericht op java, CLion gericht op c en c++, DataGrip gericht op sql en PhpStorm gericht op php. PhpStorm ondersteunt php versies 5.3, 5.4, 5.5, 5.6, 7.0 en 7.1. Het biedt on-the-fly-errorpreventie, autocompletion, code refactoring, debugging en kan ook overweg met html, css, coffee- en javascript. Voor een overzicht van de mogelijkheden verwijzen we jullie door naar deze pagina. Voor het gebruik van PhpStorm is wel een licentie nodig, voor zakelijk- en thuisgebruik zal je daar voor moeten betalen maar wanneer het gebruikt wordt voor onderwijs of niet-commerciële opensourceprojecten is de licentie gratis. JetBrains heeft PhpStorm 2017.3 uitgebracht met de volgende verbeteringen:
What’s New in PhpStorm 2017.3
Editor-based REST clientPHP Language
- 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.
Bring exceptions under control
- 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.
Testing
- 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.
Twig support
- 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.
Web Technologies 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.
Version Control
- 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.
Database Tools
- Switch between branches preserves your workspace
- Changelists can now be renamed in the Shelf tab
- D'n'D between Shelf and Local Changes tabs
Other improvements:
- Improved Database view
- SQL generator
- JOIN statement completion
- SSH tunneling
- Redesigned Code Style|PHP settings page
- New Composer Log
- Improved PHPUnit Run configuration
- Define visibility for initialize fields intention