May 21, 2013

662 words 4 mins read

Exploring PHP IDEs: PhpStorm

php elephant
These days, I’m not much of a coder. I never was an uber-coder (as John will attest), but I managed to dabble fairly frequently. However, in the last couple of weeks I’ve been doing a fair bit of PHP. Most of it revolves around a couple projects for work using the AWS SDK for PHP 2. At first I was using my standard go-to-development environment… nano. However, as my project grows, having an good solid IDE seems more and more useful, so I started looking about. In the end, I’ve spent some time evaluating Sublime Text and PhpStorm

Today, lets talk about

PhpStorm v6

  • Company: JetBrains (Makes a lot of IDEs)
  • Size: 118 MB download (Windows)
  • Cost: $200 (Commercial License)
  • Written In: Java
  • Launch Time: ~5 seconds
  • Wikipedia Article: Very impressive
phpstorm logo
I originally picked up using PhpStorm because we use IntelliJ at work and I’d seen PhpStorm on JetBrains website. IntelliJ seems popular so its cousin couldn’t be too bad. This would be the first PHP IDE I can remember using in years, and one of the few IDEs I’ve ever used except for Visual Studio 6 and Eclipse for Android development.

Out of the box, it looks like a java-based app, like any other. It’s not particularly attractive, but it is functional. Personally, I’m not a huge fan of Java (okay… okay… I loathe Java), but I can overlook it since I’m not writing in Java. Getting up and running is as simple as opening a PHP file. Since my “project” predated trying out PhpStorm, I didn’t have a proper project file setup. All and all, it seemed to just work. Auto-completion worked for me without issue. Within a few minutes I could resume coding; I can’t complain about that.

Now, one of the main benefits to using PhpStorm is all the cool features (just skim the wikipedia article if you want an idea). I noticed you can start a new Composer or Twitter Bootstrap project — in both cases it will download and deal with the requisite setup. This is nifty since I use Composer for most of my projects these days (like the AWS PHP SDK), and I wanted to give Bootstrap a try. Once you get into bigger projects, there is support for Yii and Symphony2, which is cool because both frameworks are something I’ve wanted to investigate (here’s me learning Yii). There are a couple other of those features, like SFTP and built-in webserver, that I’d like to investigate but haven’t (yet).

There are also a slew of features that are “cool”, but of little interest to me. It is nice that they’ve included git support, but the GitHub client for mac and windows is the way to be. Database support is also handy, but I prefer PHPMyAdmin for MySQL and most of my DB work these days is DynamoDB based (which isn’t currently supported).

My one major gripe about PhpStorm is there is so much stuff in the UI. It’s constantly complaining about this thing or that. Every time I open a new file it tells me how pissed off it is about a version control file that it doesn’t know about (again, GitHub client > * ). There are a TON of options in the drop down menus, many of which I don’t understand. This is probably because A) I’m not a hardcore coder and B) This is FAR more complicated than nano.

At the end of the day, I’m not discounting PhpStorm. It’s way more than I know what to do with, but I’m sure I could learn. It is also cool that the new Android Studio (I dabel in Android from time to time) is based off of the same IntelliJ IDE. One interface to rule them all. The only thing that would stop me as a normal person from seriously perusing PhpStorm is the $200 license fee. However, as this is for work, that’s not as much of an issue for me.