Eclipse
So, I spent most of the last few days playing around with programming tools. The choices were two commercial packages: ActiveState’s Komodo and Zend Studio. In the end, neither won out. I’m currently using a very early beta of the PHP IDE, which is a plug-in for Eclipse. A big advantage of Eclipse is that it is free. I expect this environment to get better over time.
I never was able to get the PHP debugging working. For now, the main benefits of using the PHP IDE are that it does good syntax checking of my PHP, so I’m spending much less time tracking down simple syntax errors (missing semicolons, mismatched brackets, etc.), and code completion (it knows all the built-in PHP functions, plus does code completion on functions you define). I also like the Explorer, which lets me jump to function definitions directly, rather than searching for them in a file.
Another advantage of using an Eclipse plug-in is that it lets me use other Eclipse plug-ins. Unfortunately, I haven’t figured out how to get the Subversion plug-in working yet.
I also found a completely separate IDE called Aptana, which is designed for creating JavaScript, HTML, and CSS. It too is an Eclipse plug-in, so stuff I learn about PHP IDE will also work for me in Aptana. For now, I can run the two IDEs separately, one for PHP on the server-side and one for JavaScript on the client-side. Eventually, I should be able to get them working together, but I haven’t tried that yet since both are early and are evolving quickly (who knows, maybe someone will integrate them together for me!). Besides, having two instances of Eclipse running is no big deal.
Having installed all this stuff, I had another marathon programming session last night, and was able to get lots more of the user model and views implemented. Goes much faster when you’re not tracking down stupid syntax errors, and the Eclipse editor has other features I really like.
I set up MAMP (my Macintosh-Apache-MySQL-PHP stack) so that it has a symbolic link into the PHP IDE workspace. So I’m just using a normal browser to test out the PHP code I write. Unfortunately, this doesn’t give me the facilities of a true debugger, so I’m still doing things like writing print statements to find out the value of variables. But I’m way ahead of my setup before (coding in a text editor and debugging with print statements). Hopefully, either the PHP IDE debugger will get better over time (or I’ll figure out what I’m doing wrong and get the debugger working). Meanwhile, I’m making good progress on ZAT.
–wm

