I’ve gone through a lot of coding tools over the years, from Dreamweaver to Coda and Espresso I think I’ve tried just about all of them. About two years ago I got tired of switching all the time and thought I found my ultimate solution in Sublime Text 2. It was fast, easily customizable through plugins and seemed to do everything I needed it to do but it had some issues. Even after using Sublime Text for over a year I never got past the feeling that a lot of what I was doing with it was a hack or a work around that resulted in a less-than elegant solution. This was true for debugging, deploying and just about any other operation other than simply editing text. Sure there are some good plugins but most of them just never felt complete and the only reason I was putting up with it was that I simply didn’t know anything better.
While I had been using many different types of editors for my PHP and related work the one step I had never takes with PHP was a full-blown IDE. It’s not that I had anything against IDEs and I in fact used them regularly in grad school for projects involving JAVA and other languages but for PHP the choices were always either an afterthought or just plain clunky. NetBeans, Aptana and Eclipse might have been great projects in their own right but they were slow, buggy and offered no better support for PHP than text editors like Sublime Text and others. Tools like an IDE are supposed to improve your workflow yet with PHP all the traditional tools I was familiar with did nothing except slow me down.
Last July I was introduced to PhpStorm after winning a license at a Meetup. I actually didn’t even touch it for a month or so after that as my thought was why would I want to bother with another attempt at a PHP IDE in the history of Zend Studio, Netbeans and others. Even more so, why would I want to pay $99 a year for such a piece of software if it wasn’t going to help me in my work? On a lark I decided last Fall to give it a try anyway and it has completely changed the way I work. In the months since I’ve tried to test Sublime Text again as, frankly, I’m cheap and don’t want to have to pay for a license when my current year is up in July but I’m hooked. Every other tool I try out there just seems down-right bad in comparison. It has done more for my workflow and my sanity than any single application I’ve purchased in at least the last year or two. I simply don’t know what I would do without it anymore. Why is that?
It’s fast
This may sound like a small deal but one of the things I really did like about Sublime Text was the speed. I could start the application and it was ready to use in a second or two at most. This is a stark contrast from traditional IDEs I had tried where I could click the icon, go get a drink and maybe, if I was lucky, it would be ready to use when I got back.
PhpStorm simply removed the advantage held by Sublime Text. Now if I was to hold a stopwatch to it Sublime Text might beat it by a fraction of a second or so but PhpStorm can hold its own with any of the far-less-capable text editors available. I can start it and within a second or two I’m working away. That is so much better than nearly any editor I’ve tried.
Debugging
While there are extensions to add XDEBUG and phpunit to Sublime Text they are clunky in comparison to PhpStorm. The debugging tools have allowed me to really up my game as I’m no longer wasting valuable development time setting up and trying to interpret the less capable tools in Sublime Text or other stand-alone debugging utilities. It does take a few minutes to setup on a complex project but the intuitive GUI makes it so much easier to setup initially as well as to modify the setup later if needed.
Coding Standards
I’m rather picky about my own code and PhpStorm, as a true IDE, makes keeping with the standards I’ve set (mostly the WordPress coding standards) a piece of cake. With one keystroke I can fix all my mistakes across a single file or even a full project, a feature that puts me at ease and helps me keep my code consistent and mistake free.
Version Control
While I still use Sourcetree for some GIT features the GIT and SVN integration in PhpStorm is more than up to the task of just about everything I do on a daily basis. Committing, pushing, pulling and reverting are all a key or a click away without the need of tracking down obscure packages or wondering exactly what is in my staging area.
Project Management
Sublime Text is OK here but PhpStorm really knows what is going on. From searching projects to saving project settings and tracking down function and variable definitions PhpStorm makes getting around a complex project a breeze. Since I’ve started using it I’ve not only moved all of my projects out of Sublime Text but I’ve also almost completely stopped using trusty tools like ack in my daily workflow as I just don’t need them anymore.
In the end what it comes down to is while tools like Sublime Text might be good enough PhpStorm takes my daily workflow to an entirely new level helping me get more done faster. For the foreseeable future I’m hooked on PhpStorm for my real work and I’ll let Sublime Text do what it does best, act as the text editor on my machine.