PhpStorm 2019.3 EAP #9

PhpStorm 2019.3 EAP build 193.5096.23 is now available!

In this release cycle, we were mainly focused on quality, usability, and performance. Check the last Early Access Program build in the 2019.3 series with all the latest fixes for PHP and the updates from the WebStorm and DataGrip teams and the IntelliJ Platform.

Download PhpStorm 2019.3 EAP from the EAP page or via the JetBrains Toolbox App. Or, if you have the previous PhpStorm 2019.3 EAP build installed, you should get a notification in your IDE about a patch update soon.

Download PhpStorm 2019.3 EAP

Continue reading

Posted in Early Access Program | Leave a comment

PHP Annotated – November 2019

php_annotated

Greetings everyone,

It’s time for our November edition of PHP Annotated! Get the latest on PHP 7.4.0 RC 5, Xdebug 2.8.0, a critical vulnerability in PHP-FPM, and news from PHP Internals. There are also links for Laravel and Symfony, useful tools, videos, podcasts, and a whole lot more!
Continue reading

Posted in PHP Annotated Monthly | Tagged , , , , , | Leave a comment

PhpStorm 2019.3 EAP #8

PhpStorm 2019.3 EAP build 193.4932.16 is now available!

The Early Access Program gets close to a finish! The release is coming soon, and we are focused on stabilization and polishing. The build includes fixes for PHP and the latest updates from the WebStorm and DataGrip teams and the IntelliJ Platform.

Download PhpStorm 2019.3 EAP from the EAP page or via the JetBrains Toolbox App. Or, if you have the previous PhpStorm 2019.3 EAP build installed, you should get a notification in your IDE about a patch update soon.

Download PhpStorm 2019.3 EAP

Faster startup

So far, one of the most common performance problems faced by PhpStorm users has been the sluggish startup of the IDE. In the last two release cycles, we’ve devoted a lot of effort to reduce the time that users have to wait for the welcome screen to show up and for the IDE to open up with already indexed projects. As a result, you may expect PhpStorm 2019.3 to handle this job significantly faster compared to previous versions.

On average, the startup time has been reduced by more than 40% compared to PhpStorm 2019.1 and by more than 20% compared to PhpStorm 2019.2. For now, the results are more optimistic for some OSs than for others, but we’ll keep improving this in the future.

To speed up the startup, we’ve introduced a number of substantial changes under the hood. Here are the most important ones:

  • Some processes that used to run subsequently are now run in parallel.
  • Icons are now rendered from the pre-build cache.
  • Classes have been reorganized in a way that makes the initial class loading faster.
  • Font loading on macOS has been optimized.

This is still a work in progress. We have some other major changes planned for PhpStorm 2020.1, including, as usual, more optimizations of project indexing.

Continue reading

Posted in Early Access Program | Tagged | Leave a comment

PhpStorm 2019.2.4 is released

PhpStorm 2019.2.4 build 192.7142.41 is out now!

This minor update for v2019.2 includes important bugfixes and updates.
Continue reading

Posted in Release Announcements | Tagged , | Leave a comment

PhpStorm 2019.3 EAP #7

PhpStorm 2019.3 EAP build 193.4778.21 is now available!

This EAP build introduces WSL support. It also includes fixes for PHP and the latest updates from the WebStorm and DataGrip teams and the IntelliJ Platform.

Download PhpStorm 2019.3 EAP from the EAP page or via the JetBrains Toolbox App. Or, if you have the previous PhpStorm 2019.3 EAP build installed, you should get a notification in your IDE about a patch update soon.

WSL Support

WSL (Windows Subsystem for Linux) is a compatibility layer for running Linux binary executables natively on Windows 10. PhpStorm will now support developing in a WSL environment, which is when you have launched your IDE on a Windows machine, but you target WSL/Linux in your development. You’ll be able to specify a remote PHP interpreter in the WSL and use it for running scripts, tests, Composer commands, and debugging.

  • To get started, make sure you have installed the WSL on your Windows 10 machine, and the Linux distribution of your choice. See the installation guide.
  • Depending on the distribution you may have PHP already preinstalled. If not, you’ll have to install it manually via the command line. For example in Ubuntu you can run something like this:
    sudo apt update
    sudo apt install php php-mbstring php-dom php-xml php-zip php-curl php-xdebug
  • When you have PHP in your WSL environment you’re ready to set up PhpStorm.
  • Add a CLI interpreter under File | Settings | Languages & Frameworks | PHP

wsl-config-remote-interpreter

If you don’t see the WSL option in this dialog, it means you have no WSL installed. Check the previous steps.

wsl-remote-interpreter

You’ll see the list of WSL distributions that are installed and you may add as many interpreters as you wish.

And that’s it! Now you can specify this interpreter for running tests, Composer, or for other run-configurations that you have.

wsl-composerComposer via WSL
wsl-testsRunning tests via WSL

Let us know what you think of the WSL Support in PhpStorm! What would you like improved or added?

Better plugin management

Tired of restarting PhpStorm every time you add or remove a theme? The upcoming PhpStorm 2019.3 will allow you to install, uninstall, enable, and disable a theme plugin without restarting the IDE.

The keymap plugins also don’t need the IDE to be restarted anymore to work.


For the full list of changes in this build, please see the release notes.

Check out previous EAP blog posts for more updates and added features:

Please report any problems to our issue tracker or comment on this post. Your feedback is much appreciated!

Your JetBrains PhpStorm Team
The Drive to Develop

Posted in Early Access Program | Tagged , | Leave a comment

PhpStorm 2019.3 EAP #6

PhpStorm 2019.3 EAP build 193.4697.24 is now available!

We’ve added the last remaining thing to PHP 7.4 support – arrow functions, as well as brought you the possibility to run all requests in file in HTTP client, and a couple of other improvements. All the latest updates from Web, DB, and the IntelliJ Platform are incorporated too, as usual.

Download PhpStorm 2019.3 EAP from the Next Version page or via the JetBrains Toolbox App.

PhpStorm EAP builds are free to use within 30 days of the build date.

PHP 7.4

Arrow functions

In PHP 7.4, you’ll be able to use the short syntax for one-line lambda functions: fn(parameter_list) => expr. This is now fully supported by PhpStorm:

arrow-functions

The new short functions in PHP introduce automatic by-value binding of variables from the outer scope. PhpStorm will accordingly provide completion for them as well as resolve declarations, available by clicking from inside the function:

arrow-functions-scope

A quick-fix to convert one-line lambda functions from the old syntax to the new short one is also available! Just press alt-enter Alt-Enter over an anonymous function and choose Convert closure to arrow function:

arrow_functions_quick-fix

HTTP Client: Run all requests in File

With the editor-based HTTP Client in PhpStorm, you can write multiple requests in one .http file. This is quite convenient if you need to do request chains when one request depends on the result from previous ones.

Earlier, you had to run each request one by one, now in PhpStorm 2019.3 you’ll be able to run them all in one click!

http-client_run_all

New editor command to sort lines alphabetically

Now you can easily sort lines alphabetically by selecting lines in the editor and choosing Edit | Sort Lines from the main menu or by running this action from Find Actions (Cmd+Shift+A):

sort-lines

You may also check the String Manipulation plugin for more actions with lines and strings.

VCS

Push any branch

You can now push changes from any branch right from the Branches popup – select a branch and then use the Push action in the menu.

Previously, you could only push changes from the branch you’re currently working with. To do this, you had to switch to the branch first and only then you could push the changes.

branches-push


For the full list of changes in this build, see the release notes.

Please report any problems to our issue tracker or comment on this post. Your feedback is much appreciated!

Check out the previous EAP blog posts for more features:

Your JetBrains PhpStorm Team
The Drive to Develop

Posted in Early Access Program | Tagged , , | Leave a comment

PhpStorm 2019.2.4 Preview

Today we have a preview for the fourth minor bugfix update of PhpStorm 2019.2. Please try PhpStorm 2019.2.4 build 192.7142.22 and share your feedback with us.

Here are some notable fixes:

  • Fixed: Phpstorm freezes randomly since 2019.2.2 patch installed (WI-48825 +30)
  • Fixed: @method self not works anymore at EAP (WI-48657 +8)
  • Fixed: Git merge –no-commit still performs a commit if conflicts occur (IDEA-220499 +6)
  • Fixed: property inspection switches parent and child class (WI-48766 +5)
  • Menu icons in Presentation mode are now smaller (IDEA-220577 +1)
  • Added support for nullish coalescing in TypeScript (WEB-41494)

Check out all changes in the release notes.
Continue reading

Posted in Release Candidates | Tagged , | Leave a comment

PhpStorm 2019.3 EAP #5

In the 5th build (193.4386.20) of the PhpStorm 2019.3 EAP, we’re introducing MongoDB support in DB tools, quick-fixes for the numeric literal separator of PHP 7.4, and last but not least, support for the PSR-12 code style standard.

Download PhpStorm 2019.3 EAP from the next version page or via the JetBrains Toolbox App.

As usual, the EAP builds of PhpStorm are free to use within 30 days of the build date.

PHP 7.4

Numeric Literal Separator

The human eye is not optimized for quickly parsing long sequences of digits. Now, when you use PHP 7.4 in PhpStorm 2019.3, you will be able to quickly add visual separators to make numbers easier to read and prevent unintended mistakes.

If you see some long number, place the caret over it, press alt-enter Alt+Enter and select Add number separators. This will add an underscore ‘_’ between every 3 digits for decimal numbers, and every four digits in hex, binary, and octal:

numeric-separator-quick-fix

PSR-12: Extended Coding Style

This new PSR-12 standard supersedes the old dear PSR-2, adapting it to all the new language features that we’ve got in the last years, and cleaning up a few inconsistencies. Kudos to PHP-FIG for this great update! If you’ve been using PSR-2, check out what has changed in PSR-12.

PhpStorm 2019.3 comes with a predefined PSR-12 code style, and the IDE will suggest that you switch to it. You can always switch manually with the Set from… action under Preferences | Editor | Code Style | PHP:

psr-12-set-from

Some PSR-12 rules are added as inspections which are off by default, but PhpStorm suggests to turn on the inspection when you choose the PSR-12 code style. You can adjust the inspections as appropriate, under Preferences | Editor | Inspections in PHP | Code Style | PSR-12:

psr-12-inspections

After this, you can reformat code in the editor by pressing Cmd+Alt+L:

psr-12-reformat

Or you can have PhpStorm run it automatically on the cleanup stage before a commit:

psr-12-before-commit

MongoDB support

Finally, the day has come for us to start working on MongoDB support. We’ll begin by including some basic functionality. Here’s what we’ve got for you so far.

Observe Collections

You can view collections and fields in the database explorer. PhpStorm will fetch the first 10 documents from each collection to get information about the fields.

mongodb-collections

View Data

Open any collection or observe the query result, and sort by columns or filter the values. Paging works as well.

mongodb-view-data

Query console

You can run queries and get results by selecting it and pressing Ctr/Cmd+Enter, or by using the Play button on the toolbar.

mongodb-run-query

Please keep in mind that this is still a work in progress. There are some known limitations: no coding assistance for now, and no integration with MongoDB shell, so only a limited number of MongoDB functions can be executed.

Rest assured though that we will extend this functionality in our future releases. The EAP stage is the best time to provide your feedback, so please comment here or report any issues in our tracker.


For the full list of changes in this build, please see the release notes.

Please report any problems to our issue tracker or comment on this post. Your feedback is much appreciated!

Check out the previous EAP blog posts for more features:

Your JetBrains PhpStorm Team
The Drive to Develop

Posted in Early Access Program | Tagged , , | Leave a comment

php[world], Bulgaria PHP, PHP.BARCELONA, SymfonyCon – Cool Events to Go to This Fall

This fall the PhpStorm team is happy to join four awesome PHP conferences around the world!

At our booth, you’ll meet some of the folks who actually work on PhpStorm. They will be glad to answer any questions you have in mind, share information about future releases, or help with any issues you’ve encountered.

Swing by to say hi, grab cool swag, show off your skills, learn something new in our Code Golf challenge, and most importantly have fun!

php[world] – October 22–25, Washington, D.C., USA

Since 2014, php[world] has been creating an environment where all PHP developers come together to collaborate and build a stronger community. For this 6th php[world] conference, the org team has curated a special lineup of talks, workshops, and full-day training classes. There will also be a couple of amazing keynotes and two panels on the past and future of PHP and frameworks.

JetBrains Team: Olga Strizhenko (Software Developer), Ivan Fedorov (QA Engineer)

Bulgaria PHP – November 8–10, Sofia, Bulgaria

The third edition of this community-driven event in Bulgaria will have 35 speakers with a wide range of topics on two conference days with three tracks, a workshop day with four workshops, discussions, a cocktail party, and lots of PHP folks you all know!

JetBrains Team: Andrey Sokolov (Software Developer), Kirill Smelov (Software Developer)

PHP.BARCELONA – November 12–13, Barcelona, Spain

Barcelona is a place you want to visit this fall to see the beautiful city and diligently crafted PHP conference. Among other top-notch speakers, the lineup includes a talk from Nikita Popov.

JetBrains Team: Nikita Popov (Software Developer), Olga Strizhenko (Software Developer), Dmitry Tronin (Support Engineer), Artemy Pestretsov (Software Developer)

SymfonyCon – November 21–23, Amsterdam, Netherlands

Without any doubt, this is the main Symfony event of the year. So if you like the framework, consider going to Amsterdam this November to see two days of interesting talks, learn at two days of workshops, take part in a hack-day to give back to the community, and… have we mentioned having lots of fun?!

JetBrains Team: Anton Monakov (Technical Writer), Ivan Fedorov (QA Engineer)

Find all the upcoming PHP conferences around the world at confs.tech/php and PHP meetups at friendsofphp.org.

See you soon!

Posted in Conferences & Events | Leave a comment

PHP Annotated – October 2019

php_annotated

Greetings everyone,

It’s time for our October edition of PHP Annotated! Get the latest on PHP 7.4.0 RC 3, GitHub dependency graph support for PHP, upgrading PSR standards, RFCs from PHP Internals, and the Coordinating PHP project. We’ll share links for Laravel and Symfony, useful tools, videos, podcasts, and a whole lot more!
Continue reading

Posted in PHP Annotated Monthly | Tagged , , , , , | Leave a comment