This actually started as a follow-up comment to Abdul’s comment on my The PowerBook Showdown post, where I went through a list of the PHP editors I’d tried on Mac OS X. Since I’d done a post about the Mac-based prospects, and since my comment was getting quite lengthy, I decided I should also do a PC-based post, so here it is:
Programs
Zend is the defacto standard in PHP IDEs. They’re the guys who are buddy-buddy with the PHP team and they write the Zend Optimizer for PHP. Needless to say, they know… well, PHP. Zend is Java based, so it runs anywhere you want. Unfortunately that also means it’s slow as Christmas at times. I couldn’t use Zend and iTunes at the same time on my Windows box. Every time Zend would try to do any kind of code completion, iTunes would skip. It’s also pretty expensive (unless you can con your way into an Educational discount, then it’s pretty cheap).
NuSphere PhpED is my new favorite for Windows PHP-ing. I soooo wish they had a version for OS X. It’s like a light-weight Zend. No problems with it and iTunes, and the interface is more attractive (is Java not capable of anything other than the dull dark Windows 3.1 gray?). Unfortunately, it’s even more expensive than Zend…
TextPad isn’t exactly a PHP IDE, it’s just a text editor. Still, it’s got syntax highlighting packs available for PHP, which make it far preferred (at least over Notepad)… and it’s dirt cheap. I never use a Windows machine without installing TextPad.
UltraEdit is one I’ve never used, but which I see recommended by lots of people over and over again. It looks (from their site) to be more programmer-oriented than TextPad (which is more geared towards plain old text editing - albeit more efficiently).
I’m not really familiar with any others, nor have I heard good or bad things about them. However, there’s a pretty good list of reviews available. They cover all platforms (although Windows is, obviously, the most covered), and include simple numeric rankings. That list is where I found (and fell in love with) NuSphere PhpEd, so I’d recommend taking a look and reading what others have to say before you make any decisions.
Closing Notes
Needless to say, you may want to get your feet wet with one of the free / cheap utilities, just to see if PHP is something you want to stick with, before you go out and blow a paycheck on a more expensive (and fully-fledged) IDE. I also don’t have anything much to say about the actual IDE-ish aspects of any of the programs here, since I’ve never used them. Call me old-school, but I’d rather do my own debugging in my own environment. The only reason I tend to favor an IDE over a simple editor is the code-completion and function prompting (start typing a function and Zend will list all the ones in the PHP manual and your code that match the string, as well as their parameters and any descriptions).
If you make any decisions on a PHP editor or know of any others I should certainly investigate, please let me know. At this point I’m mostly interested in an OS X-based one, but I’ve still got multiple Windows boxen around to try stuff out on as well.
Good luck, hope you find something that meets your needs. Remember to check out this post if you’re looking for reviews of PHP editors for Mac OS X.
5 Comments so far
Abdul Mueid, on January 7, 2006 at 12:38am, said:
Thanks alot for the kickass review. NuSphere looks more promising than anything else. Looking forward to it.
Just to add to the list, The Eclipse IDE (google it) is an open-source alternative. It is a multi-programming IDE, just plug your favorite programming language extension. It has syntax highlighting and code completion too.
Bytheway, Java has other UI’s, but the gray one (“Swing” to be exact) is default. Using other widgets will require lots of extra code and ofcourse lots of RAM too (aren’t you going to miss iTunes?)
Edit Comment
Chris Meller, on January 7, 2006 at 1:24pm, said:
The last time I looked at Eclipse (granted it was quite a while ago), it was still in that intro “Oh, that’s a great idea… but it still really sucks and I’ll check back in 2 years for a final product” stage. It may be time that I investigate it again, as I also know someone who switched to Linux recently and was using it for C# development instead of Visual Studio.
And please, don’t tell me you’re a Java dev… I’m afraid I may have to blacklist you from this blog if you tell me that… :) (Although that was good information and answered a question I’d been wondering for quite some time.)
Edit Comment
Abdul Mueid, on January 7, 2006 at 1:32pm, said:
I am afraid to admit that YES, I am a Java dev but not a hardcore one. I took a Java short course in 2004 and believe me, I was good at it (100% in all assignments extra credits for using a different user-interface in an assignment). I have been out of touch since my june exams last year but I can still remember most of the stuff.
If you dont mind telling me, what’s the beef between you and Java?
Edit Comment
Chris Meller, on January 7, 2006 at 1:45pm, said:
Would you accept an excuse along the lines of “I had an unfortunate incident as a child”? :)
In reality, I think Java’s a great idea. Write once, run anywhere - you can’t beat that. In actual application, I think the Java “virtual machine” (or whatever they’re calling it these days - the client-side interpreter) is a horrid mess. It simply uses too many resources for it to be a really viable option (at least in my opinion).
If it didn’t use 60mb of RAM just to start up the program and didn’t cause weird other resource-related problems (like my iTunes example), I’d be all over Java. As it stands, I’d rather focus on learning C# - Java-like, uses .NET and won’t eat my machine (unless I tell it to, of course)…
Edit Comment
Abdul Mueid, on January 8, 2006 at 12:06am, said:
Well, I agree that Java is abit slow but look at the bright side of it. Java isn’t just a desktop programming language anymore. J2ME is another branch of java that is ruling the mobile phone industry. JSP, the Java Server Pages can practically run a fully fledged application in a browser. And last but not least, the Applets and their integration with anything from web to C applications. You can embed them anywhere and they’ll work. There is much more to Java e.g. Java3D, Java Beans, J2EE and much more.
(Did I just sound like a Java advocate?)
Edit Comment