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.
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.
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.
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.
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.
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.
24 thoughts on “Zend Studio vs PHP Development Tools”
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)
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 🙂
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.
i recently upgraded from zs 5.5 to 6.x, and i think it’s a step backwards. here’s why: 1) 5.5 is leaner and nicer to the cpu / ram. 2) some essential functions like the undo / redo is no longer in the standard toolbar but in the menus instead. 3) because 6.x is built on top of eclipse (which is a general purpose ide) and no longer standalone, there are a lot of features that a php developer would never use. just adds to the clutter. 4) buggy as hell. i have the latest 6.x version and the undo / redo is buggy. would randomly skip multiple steps for the undo, but maintain a step by step redo. its to a point that i consider it unreliable and use it as little as possible. 5) the code analyzer is too aggresive but doesn’t really work. its one thing if it works as intended – that’s fine. but when i get a warning like “global variable is used before its been defined” when infact it is defined in an include file at the beginning of the file, makes me less likely to trust all the warnings i see. blah.
i don’t know. maybe it’s because i’m just too used to 5.5. i think 6.x is a step backwards, but maybe by 6.5 it’ll catch up. one new feature that i like is that the tabs are now movable. yay… not really.
Every time I use Visual Studio, I find myself thinking… well… nothing. That’s what’s great about it… I never have to think, ever. That’s the only reason (IMO) why .NET is able to succeed. Could you imagine trying to work with .NET *WITHOUT* an IDE as good as Visual Studio? Yikes!
Microsoft could learn a thing or two about documentation from PHP though. No other language comes close to such an easy to use and easy to understand reference.
Now if only we could combine PHP’s docs with Visual Studio. Utopia
I agree with Robin regarding the difference between debugging with the two versions. I’ve tried to get used to 6.1 as the support for ZF is great. But debugging is such a pain that I just refuse to use it. In 5.5 it’s so simple and straightforward….. why did they have to take away the simplicity of the debugger…
I agree with Robin regarding the difference between debugging with the two versions.
I like Eclipse with PDT and Aptana
PHP is used mainly in server-side scripting, but can be used from a command line interface or in standalone graphical applications. Textual User Interfaces can also be created using PHP.
Web development needs many criteria like requirement analyses, requirement definition, project planning, technology and manpower assessment, system analyses and design and many more. A fully functional and attractive website needs both creative work and expertise technology and in India there are huge manpower who are ready to striving to get best output.
Web Development Company
Wonderful article. I been looking for one on a similar note. I guess you always have something up your sleeve.
This is an excellent comparison, thanks, helps alot!
Zend Studio is professional-grade PHP IDE. It has been designed to maximize developer productivity by enabling us to develop and maintain code faster, solve application problems quickly and improve team collaboration.
Very informative blog. I like your blog because of unique content. thanks for sharing such a useful information.
I am debating over the two,and this helped out a lot. I appreciate you man.
Netbean why not.
Eclipse is very slow.
Its been 4 years, I probably should write an update post. I now use NetBeans and phpStorm.