Real Programmers use Butterflies

Say what you will, but real programmers use the tools that help them the most. I’ve always been a big proponent of making sure developers are using a good IDE. For me, that IDE has been Zend Studio 5.5 for a long time.

When I first started doing PHP development, I used nano. It got the job done, but as a developer trying to work on large company applications that had little to no documentation, I was constantly writing functionality that already existed somewhere else in the application. I had no insight in to how the program worked or what functionality was already available to me. I was limited by what I could easily find in the code using grep and going from file to file via command line. It wasn’t very efficient and the code I produced wasn’t very good.

It wasn’t until I inherited a senior developer’s old computer that I ran across Zend Studio. The difference was amazing. Not only did having the IDE give me a much better view of the entire project, but it even helped my understanding of Object Oriented Development. So what were the features that made the biggest difference?

Code Completion

Other than Visual Studio, Zend Studio’s code completion is the best I’ve ever used. Its ability to parse the code and documentation allows me to quickly understand the interface of the objects or classes I’m currently working with without having to read every function in the code or scour through pages of out of date documentation.

Go To Declaration

Sometimes when the documentation provided by the phpDocs isn’t enough, I need to read the original function to see what a function is actually doing. The “Go To Declaration” functionality allows me to quickly jump to the function I’m pointing to. The only thing extra I wish this functionality provided was to automatically open the browser at the corresponding page for any PHP functions.

Code Analyzer

The code analyzer in Zend Studio 5.5 is nothing amazing, but it can be extremely useful. The analyzer will point out any unused variables or variables used before being set. This is a big help in finding any potential errors often caused by accidentally misspelling a variable name or a required variable not getting set in one of the conditional branches.

Easy Project Setup

While not technically being a feature, this is the reason I haven’t moved onto newer versions of Zend Studio yet. In version 5.5, starting a new project only requires clicking start new project, giving it a name, and pointing it at the directory where the files already existed. Zend Studio will scan all the code and phpDocs within the directory and sub-directories within seconds. This made working on existing sites a very simple process. It even allows directly connecting to a server via ftp or sftp to allow remote development. And it does all this without polluting the project’s directory with it’s own files.