Early Access Program Features Releases

PhpStorm 2018.3 EAP 183.4139.30

The new PhpStorm 2018.3 EAP build (183.4139.30) is now available!

This build delivers DQL support, sprintf()/printf() handling improvements, and a performance boost for renaming private properties. It also includes bug fixes and other improvements for PHP, Web, and IntelliJ Platform.

Doctrine Query Language Support

While you can use raw SQL with Doctrine or query builder, the preferred way to make queries is by using DQL. DQL is a query language for your object model. It means that in your queries, you’ll be using PHP classes’ and fields’ names to fetch or update data. Learn more about DQL in the documentation.

In a recent 2018.3 EAP build, we’ve added basic highlighting of DQL strings. In the latest build, DQL support goes further! We’ve added class and fields references in DQL strings, which allows you to navigate to a class or field from your query with the usual Go to declaration command: Cmd+Click and Cmd+B, respectively (Ctrl + Click / Ctrl + B on Windows).

You can also now perform a rename refactoring of classes and fields either from their declaration or from a usage.

DQL

This works for associations as well:

DQL relations

For Nowdoc/Heredoc strings, the DQL language will be automatically injected if the marker name is DQL. For simple strings, you can currently add the /** @lang DQL */ annotation. Automatic language injection is coming soon.

Stay tuned and let us know what other features you would like to see to help you work with DQL!

Formatted strings functions improvements

In this build, we’ve improved the way sprintf() and printf() are handled. Now their parameters and placeholders under the caret are highlighted:

sprintf

In addition, PhpStorm will detect and warn you if an incorrect number of parameters are passed to sprintf() / printf(), that is, if the number of placeholders does not match the number of values:

sprintf_param_number

Private name refactoring improved

As of this build, PhpStorm will by default search only context usages when renaming private properties. This leads to much faster performance. If you still need to search throughout the whole project, you can open the Rename refactoring dialog and enable the new “Search in global scope” option.

rename_search_global

Platform updates worth noting

  • SQL Format and Style: Egypt style for INSERT and subqueries (DBE-6798 +31)
  • SQL Refactoring: Introduce/inline table alias (DBE-636 +19)
  • Input freezes after MacOS key-selector on Mojave (JRE-998 +22)
  • Fixed: vue-mixin-decorator doesn’t work in Vue files with TypeScript (WEB-31543 +15)
  • Fixed: Typescript path completion in import doesn’t work when using path mappings (WEB-30796 +13)

See the full list of PHP related bug-fixes and improvements in our issue tracker and the complete release notes.


Download PhpStorm 2018.3 EAP build 183.4139.30 for your platform, or just click Update in your JetBrains Toolbox App. Please do report any bugs you run into, as well as any feature requests that come to mind, to our Issue Tracker. Thanks!

Your JetBrains PhpStorm Team
The Drive to Develop

image description