
I’ve been using Zend Studio (ZS) for the last two years. It is developed by Zend, the company behind PHP. The very first time I used it and it was able to auto-complete my custom PHP classes I was sold. With version 6 of Zend Studio, they integrated Zend Studio with Eclipse, a popular IDE framework. I’ve been mostly happy with the new version, where as in some areas I felt that things were took a step back.
PHP Development Tools, also know as PDT, is an extension to Eclipse. It is open source and free to use for anyone. Zend Studio 6 is basically an additional layer on top of PDT offering additional features. The differences between Zend Studio 6 and Eclipse PDT vary from between areas of development. The question is what’s the difference? Which IDE is better for who?
After using both PDT and Zend Studio, I thought I would shed some light on the subject. There is a list of the differences on Zend’s website that is well detailed. The list in my opinion over exaggerates the differences due to listing many “minor” features. Here are the biggest differences in my opinion:
Ease of Installation
Zend Studio is easier to install and setup than PDT. ZS has a simple installer and can install Zend Platform, Zend Encoder, etc along with it. PDT on the other hand requires a little more work to set it up. Its not that difficult, just a little more time consuming. Also, it won’t install any other Zend products for you if you need them.
Refactoring
This is can be a huge breakthrough for PHP IDEs. Strongly-Typed environments, such as Java and C#, are easier to refractor due to how their IDEs and Language work. PHP really hasn’t and any type of refactoring options in IDEs until Zend Studio. For those who don’t know what refactoring is, lets say you need to rename a class’s function. Before you would just do a really big find and replace. However, what if you had this in hundreds of places? What if there was another class with the same function name? Find and Replace would screw up all of those scenarios unless you did each replace manually checking the context. That could take hours and hours. It also is very bug prone if you make a mistake.
Refactoring allows you to change function names, variable names, class names, using the logic of the editor. That means it will detect when it is appropriate to rename or change something. Now with ZS it isn’t 100% unless you use PHPDoc tags and are very clear with includes, etc. However, for large professional projects it can save hours of time. This is a very advanced feature that some developers can’t live without. This is probably the biggest difference I think between PDT and ZS.
PHPUnit Testing
Zend Studio has PHPUnit support built in. For serious developers who use PHPUnit testing every day will find this feature very useful. ZS helps the creation of tests, running and managing test, etc. PDT doesn’t have any built-in support for PHPUnit tests. You can use the editor to write tests, and there are some tutorials on using PHPUnit with Eclipse, so with a little work you can make Eclipse help with PHPUnit tests.
Debugging
Both Zend Studio and PDT allow for debugging. Zend Studio makes it easier to setup and manage. PDT requires a little more work and research to get debugging to work. Zend Studio has a few features, like the Debug toolbar for FireFox & Internet Explorer, that make Debugging a little more convenient. ZS also supports some more advanced features like SSL, Tunneling Support, Web Server Profiling, etc. Basic summary is that ZS makes debugging more convenient, where as PDT requires a little more work.
PHP Editor
This is where most developers will use ZS or Eclipse. It is also where ZS and PDT are practically the same. The only difference is Zend Studio has handful of helpers, such a code generation for classes, getters and setters, interface implementations, etc. They both has the same code completion (a.k.a. intellisense) features which I personally find the most useful. This is where the meat of Zend Studio and PDT are at, and both do a great job.
Zend Platform & Zend Framework
This is where Zend Studio has a lot of support over PDT. ZS helps make using Zend Framework and Zend Platform easier for developers. If you check the comparison list, you can see this is where Zend Studio has all the features PDT doesn’t.
Conclusion
Zend Studio and PDT are both great products, both built on the Eclipse framework. PDT is a great extension of Eclipse, and Zend Studio is a great extension of PDT. How can you tell if you should use PDT for free, or pay the $400 for Zend Studio 6. The answer is this: PDT is great for regular developers. However, if you are a professional developer who can save time from Zend Studio, the saving time will be worth the $400 dollars. One great thing is if you start off with PDT, and decide you would like some of the features of Zend Studio, you won’t have to re-learn anything. Zend Studio has all the same features as PDT.
I highly recommend both products. You can try out Zend Studio 6 for 30 days for free. There are also people who might prefer other PHP IDEs and not like the interface of ZS/PDT. That is why I suggest trying the trial.
Hopefully this article will be helpful for those wondering.
Related Posts
- Zend Studio - Basic Intellisense Tutorial I thought I would throw together a little video on how make the most out of Zend Studio's intellisense using PHP Doc Blocks. Full Resolution Download: http://www.mediafire.com/?wmzqmyelmox...
- Web Development 10-Years Ago & Now This week's blogging challenge was our computer software now and then. Lorelle talked about the different versions of WordPress over time. I thought it was an interesting article. 10 Years Ago I started web development back in 1997. My tools back then were: Notepad - That right, the one and...
- PHP5.x or PHP6 - Argument for Type-Hinting: Better IDEs I've read some posting lately about PHP6, the Meeting Notes by the Developers, etc. that deal with type-hinting, especially scalar type hinting. Here is my reasoning why PHP should allow for more type-hinting scenarios: it allows IDEs to be more powerful. An example would be auto completion. Many times an...
- Speaking: Utah PHP Usergroup - Streamlined Web Development Next Thursday, November 20th, at 7 PM Mountain Time (9PM EST, 6PM PST) I will be speaking at the Utah PHP Usergroup meeting on "Streamlined Web Development." I will be speaking with Kevin Carter from Code Greene. Here is the annoucement on the UPHPU website: I’m very pleased to announce...
- Streamlined Web Development: In-Depth Note: This is a work in progress. I will finish the rest after the presentation. I just wanted to publish the post to link to. If you have any questions, please post them below I will try to answer them as fast as I can. I probably won't have time...

nice little writeup here JC
Debugging under Zend Studio has been an issue since the early private betas. Debugging (stepping over, stepping into) is very slow compared to debugging with xdebug under pdt. Even with small projects debugging is a lot slower compared to xdebug.
another thing to note is zend studio still doesn’t provide an update site for upgrades. So for every release you must import/export all your settings and extensions for every upgrade.
Am i really the only developer out there who is willingly still working in ZS 5.1 ? The whole eclipse shabang really goes beyond me… I’ve been a happy ZendStudio user for years now, and like you, i too was sold the minute my own classes were autocompleted! No fuss, cluttering of the interface, a real good editor with codecompletion…
Now comes ZS 6 (Neon).. It not only hogs my CPU and RAM, it’s just too complicated…? I have a single SVN based project running over secured FTP (ftp+ssh) on a linux machine… Doesnt sound too difficult right? Wrong! Neon constantly tries to ‘rebuild’ my project? What? Rebuild? Why? Just because i added a test-case file?
In ZendStudio 5 (and previous versions) it was easy to quickly testout a function with the built in debugger / php environment… this just isn’t possible anymore with the new Neon version… AARGH
Ow well… this is just my rant… Nice review of the differences between PDT / Neon though… I just had to let myself go here and express my frustrations ;o)
@Robin:
I feel your pain, I truly do. ZS 6 in some areas has taken a step back. However, with ZS 5.1 I remember having serious bugs with CPU issues. I don’t use ftp+ssh to manage my development code, so I don’t have those issue.
Honestly, I might get shot for this statement, but I’m looking forward to the day when Visual Studio supports PHP. Not some 3rd party plugin that somewhat works, but a Visual Studio that really supports PHP. When I was programming in ASP .NET for my last employer, I hated a lot of things about the language, but I loved Visual Studio for an IDE.
Maybe PDT is getting better but the last time I tried it, it was still missing features that PHPEclipse has. http://www.phpeclipse.de/
Really great and it is providing valuable information on Zend Studio vs PHP Development Tools. The title also very nice.
I’ve been using ZS 5.x for years. I tried ZS 6 a couple of times. I cannot get it to work, either due to being VERY slow or I just can’t figure out how to properly use it in my limited spare time. I don’t know if I will get any more productivity even if I get it to know it.
My colleague was not sold to ZS6 either, until I showed up and taught him how to use Eclipse. Now he used ZS6 all the time
It takes getting used to Eclipse. It works quite differently than ZS5. But once you’re used to it, there is no looking back
Hi all,
I have been write a to continue with this task, in diference I told about NetBeans 6.5 and Eclipse PDT. I hope it could be useful.
Regards.