We’re often asked what the core team uses as our development stack. We tend to lean towards BYOD strategies. As long as a craftsman is using good tools and loving them, who are we to tell them what is better? That said, one of several apps that is universally loved at PortlandLabs for working on concrete5 is PHPStorm.

PHPStorm is an integrated development environment (IDE) – an application you run on your local computer that makes writing, organizing and testing your code simpler than it was in days gone by. With the number of different files that you have to manage working with modern PHP, plunking around with a text editor just doesn’t cut it any more. With PHPStorm everything you need is in one spot, and you can run your code to see how it’s working as well. It’s commercial software, and worth every penny.

What we like about PHPStorm:

  • Allows you to run code tests right from your test class.
  • Full-featured git integration, including visual diff support, a visual git merge tool and GitHub support.
  • Autocompletes symbols – just start typing “new Page” and you’ll get a dropdown allowing you to pick from all the classes in your site that use the keyword ‘Page’ in some way.
  • Reports on syntax errors quickly.
  • Reformats code to fit standards – whether that code is PHP, XML, JavaScript or something else.
  • Grays out code that is unused like $variables and use \statements;
  • Alerts you to code that is meant for a later version of PHP than my project is set to use.
  • Allows you to use step through debugging with zend debugger or xdebug.
  • Has all kinds of plugins for different things I might need.
  • Can extract interfaces from classes, methods from other methods, and variables constants and properties from code automatically.
  • Can be styled to look as clean as I need.
  • Can be set up with templates for frequent class types like controllers and service providers.
  • Tracks symbols across the entire project allowing me to quickly jump to any definition.
  • Displays code comments in a popup on command for the code that I’m writing.

That’s just a quick list of the stuff PHPStorm brings to the table that just ain’t gonna happen with tools of yester-year. Shoutout to the JetBrains team and their amazing work on this great product, we love it guys!