PhpStorm Blog Tips & tricks, news, how-to’s Fri, 16 Sep 2016 14:24:01 +0000 en-US hourly 1 PhpStorm 2016.3 EAP 163.4396 Wed, 14 Sep 2016 15:35:27 +0000 Continue reading ]]> The new PhpStorm 2016.3 EAP build (163.4396) is now available for download!

This build delivers new features, bug fixes and improvements for PHP and the Web, and takes on the latest improvements in IntelliJ Platform.

Please note, that unfortunately there will be no patch update this time due to the issue in the previous build.

New extension point that allows to provide PHP files into projects

We are working on improvement of the open API in PhpStorm. Now new extension point was implemented which allows to provide easily PHP files into a project, the sample plugin can be found here. You will find this feature extremely helpful if you use “magic” files for your projects. Before you had to copy such files into each project separately, but now you can just create a simple plugin to add the files into your projects. Also if you were using PhpStorm Helpers before, now you can just create a simple plugin  as well.

Quick fix for case-insensitive inspection

In PhpStorm 2016.3 we’ve added a quick fix for case-insensitive inspection. Now you can just press Alt+Enter to easily fix the call/usage of the method according to the declaration case.


Composer doesn’t add vendor subfolders to External Libraries

In this version all the vendor sub-folders are only available in a project tree and don’t have their duplicates in External Libraries. The folders are still treated like a libraries but are not shown in the Project tree like it’s done now for phars, which makes it more convenient.


Improved VCS Log

The layout of VCS Log is improved in this version. Now the commit details have moved to the right, giving more space to the Log itself and commit messages in the table are now aligned which makes them more readable.


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

Download PhpStorm 2016.3 EAP build 163.4396 for your platform from the project EAP page and please do report any bugs and feature request to our Issue Tracker.

Your JetBrains PhpStorm Team
The Drive to Develop

]]> 11
Meet the PhpStorm Team at PHP Conferences – Autumn 2016 Mon, 12 Sep 2016 13:53:22 +0000 Continue reading ]]> The PhpStorm team is getting ready for a new conference season and we’re eager to meet you there this fall! We’ll be visiting DrupalCon Dublin (September 26-30), PHPNW 2016  (October 1-2), Bulgaria PHP Conference (October 7-9), Joomla! World Conference (November 11-13), and php[world] (November 14-18).

DrupalCon Dublin 2016, September 26-30 (Dublin, Ireland)

drupalcondubDrupalCon is the heartbeat of the Drupal community. It’s where improvements to the project are made, where important business connections are built, and where lifelong friendships bloom. This event brings together thousands of people from across the globe who use, develop, design, and support the Drupal platform. Developers, site builders, UX/designers, project managers, business owners, CMS decision makers, job seekers and job givers will be pouring into DrupalCon Dublin.

At our booth we’ll be happy to show you PhpStorm demos, answer any questions you have in mind, share information about future releases, and of course have fun! Gary Hockin will also give a short talk about his favorite features in PhpStorm.

Be sure to register for our free license raffle and grab one of our awesome yo-yos and other gifts. Even if you don’t win a free license, we’ll send you a discount toward a new personal one-year subscription to PhpStorm.

JetBrains team: Alexey Gopachenko (Project Lead), Elena Shaverdova (Software Developer), Maxim Kolmakov (QA Engineer), Gary Hockin (PhpStorm Developer Advocate)

PHPNW 2016, October 1-2 (Manchester, UK)

php_nw_split_squarePHPNW Conference will welcome over 500 delegates to the Manchester Conference Centre in October. PHPNW conference is well known for its friendly style, inspiring content and a valuable community network.

PhpStorm Developer Advocate, Gary Hockin, will be there with a keynote and will be happy to meet you and enjoy the conference together with you!

JetBrains team: Gary Hockin (PhpStorm Developer Advocate)

Bulgaria PHP Conference, October 7 – 9 (Sofia, Bulgaria)

bulgaria-php-conference_200x200Bulgaria PHP Conference will take place in the capital of Bulgaria, Sofia. You will meet more than 600 fellow developers from all around Europe and learn from some of the best minds in the wider PHP community. Thanks to the practical workshops you can get unique hands-on experience from some of the best PHP experts. A lot of fun is guaranteed with free drinks, good music and awesome people around.

Members of our PhpStorm team will be happy to meet you at our booth! We will show you PhpStorm demos, answer your questions, share information about future releases, and enjoy the conference together with you! We will also show how to play with yo-yos and will hold a free license raffle.

JetBrains team: Anna Lebedeva (Product Marketing Manager), Maxim Kolmakov (PhpStorm QA Engineer), Eugene Morozov (PhpStorm Support Engineer)

ZendCon 2016, October 18-21 (Las Vegas, US)

zendconZendCon 2016 brings a curated selection of the great experts, training, and networking opportunities. In its 12th year, ZendCon offers authoritative sessions, in-depth technical tutorials, exhibit hall activities, and informal opportunities to spotlight the best in enterprise PHP development, the latest for PHP 7, and innovations on many open source technologies related to the web.

We won’t have a booth there, but will be happy to catch up and enjoy the conference together.

JetBrains team: Alexey Gopachenko (Project Lead), Gary Hockin (PhpStorm Developer Advocate).

Joomla! World Conference, November 11-13 (Vancouver, Canada)

joomlaconfThe Joomla! World Conference is back for the 5th year with the goal to create a space for Joomla! community to share, learn, and grow. It brings together developers, designers, site administrators, business owners, and community members from around the world.

The PhpStorm team will be happy to meet you at our booth! We will show you PhpStorm demos, answer your questions, share information about future releases, and enjoy the conference together with you! We will also show how to play with yo-yos and will hold a free license raffle.

JetBrains team: Andrey Sokolov (Software Developer)

php[world] 2016, November 14-18 (Washington, D.C.)

phpworldphp[world] is a conference designed to bring together the various sub-communities that are linked by the PHP programming language. Drupal, WordPress, Joomla!, Magento, Laravel, Zend Framework, Symfony and CakePHP all have strong independent communities, but together as the PHP community, the sum is greater than the whole.

The PhpStorm team will be happy to meet you at our booth answer your questions, share information about future releases, and enjoy the conference together with you!

JetBrains team: Alexey Gopachenko (Project Lead), Gary Hockin (PhpStorm Developer Advocate)

See you soon!

Keep up with the latest PhpStorm news on our blog and follow us on Twitter @phpstorm.

 JetBrains PhpStorm Team
The Drive to Develop

]]> 1
PhpStorm 2016.3 EAP 163.3983 Wed, 07 Sep 2016 11:56:01 +0000 Continue reading ]]> The new PhpStorm 2016.3 EAP build (163.3983) is now available for download! You can download it here or, if you have installed the previous PhpStorm 2016.3 EAP build (163.3512), you should soon get a notification in the IDE about a patch update.

This build delivers new features, bug fixes and improvements for PHP and the Web, and takes on the latest improvements in IntelliJ Platform.

Code Style Settings for PHP 7 return types

In PhpStorm 2016.3 we’ve added code style settings to add/remove space before/after colon for PHP 7 return types. Now it’s very easy to reformat your PHP 7 code and make it look just perfect by pressing “Reformat Code” shortcut.


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

Download PhpStorm 2016.3 EAP build 163.3983 for your platform from the project EAP page and please do report any bugs and feature request to our Issue Tracker.

Your JetBrains PhpStorm Team
The Drive to Develop

]]> 12
PhpStorm 2016.3 Early Access Program Started Thu, 01 Sep 2016 14:29:04 +0000 Continue reading ]]> Great news: we are starting the Early Access Program for PhpStorm 2016.3! The fresh build 163.3512 is available for download and we are eagerly awaiting your feedback in the issue tracker.

This build includes new features, bug fixes and improvements for PHP and the Web, and takes on the latest improvements in IntelliJ Platform.

Ability to open several PhpStorm projects in one frame

In PhpStorm 2016.3 EAP you have a possibility to attach/detach a project to the current one. This will allow you to do a cross-project refactoring. Please note that all the settings will be taken from the primary project, so no per-project PHP settings are allowed.


Support of Docker in Remote Interpreters

Now you can add Docker as a remote PHP interpreter in the “Configure Remote  PHP Interpreter” settings in PhpStorm. Thus it becomes even easier to setup your development environment with Docker and start the PHP Scripts, PHPUnit tests, Behat tests, PHP CodeSniffer or PHP Mess Detector inside Docker.


Сompletion of overridden methods and fields without function and var keyword

In PhpStorm 2016.3 it’s allowed to complete overridden methods and fields without function and var keywords. When you invoke completion you will see a method and a field available to override.


Project wide PHP 7 strict types

We’ve added a “Missing Strict Types Declaration” inspection which enables strict type mode in PhpStorm (Settings|Editor|Code Style|Inspections|PHP|Type Compatibility). It gives a warning if you didn’t have declare(strict_types=1); as the first line of the file. There is also an intention which allows you to fix this across the whole project. This is especially useful if you are converting a whole project to PHP 7 and want to enable strict types.


Improved support of PSR-0/PSR-4

“Create new test” and “Create new class” actions were improved and now they take into account PSR-0/PSR-4 and allow you to generate new folders. Also if you have a folder marked as “Test Source Root” this folder will be picked up automatically in the directory field when you create a new test.


Auto-detection and configuration of PHPUnit and Behat

We made it easier to set up PHPUnit and Behat for your project. Now existence of these test frameworks will be detected from the composer.json and you will get a popup tooltip suggesting configure them automatically.


PHP stubs are shown as external libraries

Now PHP stubs are shown as an external library in PhpStorm.


PHP UML support directories

In PhpStorm 2016.3 we’ve added support of directories for UML diagrams. You can expand classes/subfolder by clicking Expand in directory context menu.


Support of list() and array of objects

PhpStorm 2016.3 correctly sets up types of variables inside list() if on the right side of assignment is a array of objects.


New option to surround chars ‘->’ with spaces

We’ve added an option which allow automatically surround  ‘->‘ with spaces. You can activate it in Settings|Editor|Code Style|PHP and check Object access operator (->) in the Spaces tab.


Improvements from platform side

This update brings many Version Control improvements, such as Undo commitRestore and Delete tracked branch actionsSign-off commit, and Scope highlighting and other changes. You can find more details in the IntelliJ blog.


JavaScript and CSS

PhpStorm 2016.3 also brings major improvements in its support of top-notch web technologies, such as integration with Flow, PostCSS support, smarter rename for TypeScript, more Angular CLI, grouping generated files in ProjectView, and generation of .editorconfig. You can find more details in the WebStorm blog.


Other Changes

Other changes worth mentioning:

  • Improvements in anonymous classes support
  • Support of PHPUnit application-level configurations

See the complete list in our issue tracker and read the full release notes for PhpStorm 2016.3 EAP 163.3512.

Download PhpStorm 2016.3 EAP build 163.3512 for your platform from project EAP page, and please report any bugs and feature requests to our issue tracker.

Your PhpStorm Team
The Drive to Develop

]]> 12
PHP Annotated Monthly – September 2016 Thu, 01 Sep 2016 13:16:16 +0000 Continue reading ]]> PHP Annotated Monthly LogoSeptember 2016

“What??? Where was August?” we hear you cry. All will be revealed as Gary Hockin compiles the new style list of all that’s good from around the web, in PHP Annotated Monthly.

Let me apologize for the lack of Annotated Monthly in August. It was my plan to do the roundup while I was on holiday in a campsite in France, but the shocking quality of Internet access made the article impossible to write. We’ve wanted to tweak the format slightly, and I’ve wanted to release this post on the first working day of the month, so we’ve taken this opportunity to do both. This Annotated Monthly rounds up everything that I can find since the last one so you won’t miss anything! Let me know what you think.

More good news; you can now get PHP Annotated Monthly delivered to your inbox so you’ll never need to miss the monthly roundup gain. Sign up here and get next months delivered right to you.

PHP and Development

Latest PHP versions are 7.0.10 and 5.6.25. If you’re running anything older, you’re on your own. More interestingly this month, PHP 7.1 beta 3 was released. While I haven’t had a chance to compile and test PHP 7.1 yet (it’s on a long list of things to do), the new features look increasingly impressive, particularly the void return types. If you’re interested in testing your project with PHP 7.1, then Zend’s DevZone has you covered. Check out Testing your project with PHP 7.1.

While we are talking PHP 7, Michelangelo van Dam tells us how to Compile PHP 7 on Mac OS X 10.11 “El Capitain”, Thijs Feryn explains What are Type Errors in PHP 7? and Joseph Silber informs us on The new Closure::fromCallable() in PHP 7.1. Rob Allen’s post “Using HTTP/2 with PHP 7 on Mac” is absorbing (and I’m not only saying that because Rob is my friend). I also very much enjoyed reading “Writing a Hello World PHP 7 Extension” by Alex Bowers. I’ve not looked into PHP internals or writing extensions much, but this was written in a way that even I could understand it.

Other notable posts from PHP and Development this month:

This is a long bulleted list of articles to read. I will be including a bulleted list each month going forward, but it won’t be this long. There were so many items I wanted to mention since July that this was the only manageable way I could present them.

Frameworks and Libraries

Laravel has released a new version 5.3; the release notes read like it was a new major version, so congratulations to all involved. As you can imagine, we had a slew of good articles about the new features in 5.3, including Easily Send Quick Updates Through Slack, SMS, Email, and moreEasy and Fast Emails with Laravel 5.3 MailablesCustomizing pagination templates in Laravel 5.3, plus much more.

One of the more intriguing posts I read in the last few weeks was by Matthew Setter, where he investigated Can You Create Apps in Zend Expressive as Easily as With Laravel? Matthew looked at his recent experiences working with Laravel as a new user and compared the ease-of-use features with how easy it would be to achieve the same end in a Zend Expressive application. While I’m not a big fan of $x vs. $y posts usually, I thought Matthew made a fair and impartial comparison, and it was fascinating to me. Matthew then went on to explain How To Use Laravel’s Eloquent ORM with Zend Expressive, and eventually How To Simplify Zend Expressive Configuration with ConfigProviders. Matthew has been putting an enormous amount of effort into his Master Zend Framework blog recently, and it’s really paying off.

Moving efficiently on to Zend Expressive and Zend Framework, Matthew Weier O’Phinney blogged on Using Composer to Autoload ZF Modules which explains how the ZF ecosystem is leveraging Composer plugins to make managing your components and modules much easier. The official framework blog also posted End-to-end encryption with Zend Framework 3. Long time Zend Framework aficionado Robert Basic post Events in a Zend Expressive application which explains how the Zend\EventManager works in expressive, and Using Tactician in a Zend Expressive application which explains how to use the Tactician command bus with Zend Expressive. Creating a content-based Error Handler for Zend Expressive is also worth reading.

Symfony has posted Introducing the new Symfony Documentation, an explanation on how Symfony have restructured their documentation. I also enjoyed Securing client-side public API access with OAuth 2 and Symfony on and Quick Tip: Testing Symfony Apps with a Disposable Database on SitePoint. Also worth reading is How To Create Simple Rest API In Symfony 3.1.

Other interesting articles in Frameworks and Libraries:

Community and Events

Most importantly I would like to share Lorna Mitchell’s post “Joind.In Needs Help“. The project is a website that allows speakers to receive feedback from conference attendees, either to bask in the glow of a job well done, or to understand how they can improve their talk. It’s an incredibly welcoming project and has been the first port of call for many current open source contributors. If you have been thinking about getting involved in open source, now is the time as this crucial project needs some help.

The Speaker Package by Stefan Koopmanschap outlines what Stefan looks for in a speaker’s package before submitting to a conference. It’s an important consideration, and Stefan makes valid points very well. Anna Filina blogged on Confoo opening it’s Call for Papers in ConFoo Montreal 2017 Calling for Papers. I also enjoyed an interview with Josh Lockhart on the CloudWays blog – Josh Lockhart Discusses Slim Framework And Photography.

In the podcasting world, things are really picking up again:

I’m always open to listening to new podcasts, so if you know of one that isn’t mentioned here, please let me know!

In September, you can find me at SwanseaCon, DrupalCon Dublin and PHP North West. If you see me and have PhpStorm questions, just want to say hello, or want to tell me how much these Annotated Monthly posts improve your month, then please do!

See you in October – Gary and the PhpStorm Team

]]> 0
Live Webinar: Peer Code Review from IDE Thu, 25 Aug 2016 12:43:18 +0000 Continue reading ]]> This is a guest blog post from the JetBrains Upsource team. We’d like to invite you to our free webinar, “Peer Code Review from IDE” with Trisha Gee that will take place on Tuesday, September 13th, 2016, at 14:00 GMT.


If you’ve ever participated in the code review process, you know that reviewing your teammates’ code changes outside of your favourite IDE may feel uncomfortable and even frustrating. The IDE is the customary environment where we deal with code, be it changing something or exploring the code base. However most code review tools only let you collaborate on code changes and discuss improvements in their web UI.

Upsource, a code review tool from JetBrains, helps developers feel more comfortable with the code review process. It provides an IDE plugin that allows you to participate in code reviews and discussions straight from your IDE leveraging all of its powerful capabilities.

In this free webinar Trisha Gee will show you how Upsource IDE integration works. You’ll learn how to:

  • Create code reviews from your IDE
  • Assign team members to review your changes and add watchers
  • Stay up to date with the process
  • Participate in discussions and manage your code reviews straight from your favorite IDE.

Space is limited, please register now.

This webinar is geared towards developers of different proficiency levels regardless of their programming language of choice. You will be able to ask questions during the webinar. The recording will be made available later.

-JetBrains Upsource Team
The Drive to Develop

]]> 0
PhpStorm 2016.2.1 is out Wed, 24 Aug 2016 14:46:21 +0000 Continue reading ]]> PhpStorm 2016.2.1 build 162.1889 is available for download! If you missed the PhpStorm 2016.2 release, find out more about it on the What’s new page. If you are already using it, you’ll soon get a notification about available patch-update.

Note: Please note that you will be asked for your license credentials after you install this update!

This build  delivers many bug-fixes, including fixes for the project names at welcome screen, creation of a new project from existing files, type detection after evaluation and many others. Also new features and usability improvements are included into this minor update.

Autocomplete on previously declared properties for stdClass objects

More completion improvements were implemented for this update, now if you work with stdClass the completion list will be shown on previously declared properties.completion1

Predefined function highlighting

Enjoy the highlighting of built-in PHP functions as this functionality is back to PhpStorm.color

Completion for php settings in ini_set function

When you use ini_set() function, PhpStorm will help you by suggesting the list of php.ini directives. It works also for ini_get(), get_cfg_var(), ini_restore().ini

Improved completion after @see tag

After the @see tag you will get the completion list of all available methods.completion

Support of custom filename.xml for PHPCS config

In PhpStorm 2016.2.1 the custom filename.xml is supported for PHPCS. Before you can only select a folder that contains a ruleset.xml file, now you can select any XML file.

Many other changes from IntelliJ platform and web are also included.

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

Download PhpStorm 2016.2.1 build 162.1889 for your platform and please report any bugs or feature request to our Issue Tracker.

-JetBrains PhpStorm Team
The Drive to Develop


]]> 17
Time Tracking Plugin in PhpStorm Mon, 22 Aug 2016 14:48:39 +0000 Continue reading ]]> If you want to take better control of your tasks and projects and measure the time you spend developing, check out the Time Tracking Plugin which was bundled with PhpStorm 2016.1 earlier this year.

The Time Tracking plugin automatically tracks the time you spend on each project based on your activity within the editor. It will automatically pause after 5 minutes of inactivity, or you can manually start and stop it as needed by using the Time Tracker Tool Window. 

How to use the plugin

First of all, enable the Time Tracking plugin in Settings|Tools | Tasks | Time Tracking. The Time Tracking tool window will now be available in the right-hand tool window bar, as well as in the View | Tool Windows menu.

Time Tracking

You can add new tasks easily by pressing the green cross button. The Auto Mode is turned on by default, which means that time will be tracked automatically as soon as you start working in the editor. If the Auto Mode is not activated, you’ll have to start (and stop) the timer manually.

Time Tracking 2

The Time Tracker can be also synchronized with a bug tracking system in the Configure Servers dialog, so it becomes even easier to track how much time you spend on each task. You can find more information on how it works in the PhpStorm Web Help.

Give it a try and let us know what you think!

JetBrains PhpStorm Team
The Drive to Develop

]]> 11
PhpStorm 2016.2.1 EAP 162.1628 Wed, 10 Aug 2016 17:18:59 +0000 Continue reading ]]> PhpStorm 2016.2.1 EAP 162.1628 is available for download.

This build brings many bug fixes and improvements. From the PHP side, this build delivers:

  • Autocomplete on previously declared properties for stdClass objects
  • Predefined function highlighting is back (WI-30540)
  • Fixed type detection getting broken after evaluating in debug (WI-32620)
  • Completion of static methods after $this-> for PHPUnit tests is back (read related blog post)
  • Fixed creation a new project from existing files (WI-32519)
  • Completion for php settings in ini_set function
  • Improved completion after @see tag
  • and other bug fixes and improvements (see full list in our issue tracker).

Other changes from IntelliJ platform and web are also included, see complete release notes.

Download PhpStorm 2016.2.1 EAP build 162.1628 for your platform from project EAP page and please report any bugs and feature request to our Issue Tracker. Patch update from the previous version (PhpStorm 2016.2.1 EAP build 162.1447) is already available.

The Drive to Develop
-JetBrains PhpStorm Team

]]> 5
Webinar recording – What’s New in PhpStorm 2016.2 Mon, 08 Aug 2016 08:15:13 +0000 Continue reading ]]> The recording of our August 3rd webinar, What’s New in PhpStorm 2016.2 with Gary Hockin, is available on JetBrains YouTube channel.

PhpStorm 2016.2, released on July 13th, 2016, is the second update in the series of releases planned for 2016. During the webinar, Gary Hockin overviews new features and major improvements brought in this release, such as

  • PHP 7 Support
  • Smart Type Code Completion
  • Parameter Completion
  • @throws Improvements
  • Reworked Unused Imports inspection
  • Xdebug On Demand for CLI PHP Scripts
  • Template Projects
  • Joomla! Support
  • Metadata File Improvements

This webinar is geared towards developers of different proficiency levels.

About Gary Hockin

Gary Hockin has been creating code to power web applications for 15 years, the last three of them at an extraordinary level. He is handsome, talented, funny and articulate, and also extremely modest. Gary is a valued contributor to Zend Framework 2 and is a member of the community review team. He’s married and has two wonderful children, and when he’s not coding, writing about code, speaking about code or reading about code, he can usually be found in the pub playing pool.

The Drive to Develop
PhpStorm Team

]]> 2