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.
This works for associations as well:
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
printf() are handled. Now their parameters and placeholders under the caret are highlighted:
In addition, PhpStorm will detect and warn you if an incorrect number of parameters are passed to
printf(), that is, if the number of placeholders does not match the number of values:
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.
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