John Jeeves is a Senior WordPress Developer and Team Lead here at Pragmatic. Here’s his take on PHPStorm’s latest release:
JetBrains released a new PHPStorm EAP release the other day which is always something to celebrate, so I shared the news with the team and was asked to stop ranting like a mad person on Slack about how good this IDE is compared to the teams favourite code editor VS Code and actually write a blog post with my reasons.
Before I begin, I have to outline that I’ve only been a devout PHPStorm dev for a year after a recommendation from a fellow Pragmatician and in reality have only a grip on most probably half of the features available if even that. Before that I was a hardcore SublimeText user for many years and a VS Code user for just less then a year. So this is an opinionated write up, your personal use of each of these applications will be different then mine, but I do actually believe that PHPStorm has made me a better developer …which is a tough sell for any IDE to provide.
Sublime Text & VS Code are code editors NOT IDE’s
Its important to get this in early on, neither Sublime Text or VS Code are Integrated Development Environment applications, they are code editors that with the use of plugins can provide some of the features of an IDE. But the main fundamental differences that I’ve experienced between the two types of applications are that code editors are usually fast (VS Code not so much due to it being based on Electron) and can edit large files well (again VS Code not so much). When in the unusual situation of having to edit a 200MB SQL dump by hand…Sublime will handle this well and is still the go to tool for such things, for everything else I use PHP Storm now.
Main PHP Storm features
Basically PHP Storm covers everything you need for developing web applications easily, from code quality to integrated phpunit and xdebug support, complete front end tooling , testing and debugging, all the way to local development environment setup via its docker or vagrant support and probably the best vcs integration I’ve ever used.
- Deep understanding of the entire code base including code completion, refactoring, error prevention and integrated quality tooling.
- Complete integration of all major PHP and Front end frameworks and libraries: Symfony, Laravel, WordPress, Zend 2, React, Angular, JQuery – bascially everything
- Built in code quality tools for everything, including editor config support.
- Excellent composer support which is about to get even better
- Local as well as Git history, the local history in particular has saved my bacon a number of times
- Really easy testing & debugging with the built in visual debugger which supports PHPUnit, XDebug, Jest, Mocha etc etc etc
- Database management and administration
- Excellent VCS support. Gitlens plugin is an excellent addition to the default
- REST Client, Docker, Vagrant support
- Included deployment to local and live server environments
All of Jetbrains IDES are basically the same thing under the hood: Intellij IDEA but with the appropriate plugins installed and configured completely for the specific language intended. Therefore, PHPStorm has no problem editing JAVA, Python or even databases even though there are specific applications sold for these purposes so you don’t actually have to buy each of these separately. But it is expensive at £149 for the first year (this drops after that to about half price for second year onwards)…however there is always the Early Access Programme version which is basically a beta version that gets updated monthly for free. Personally I stumped up the money after a week of using PHP Storm, worth every penny.