Review: PHP IDE’s
I have been a faithful Zend Studio user for about 2 years now, however i have started a new job and all the developers stand by Eclipse. I have been testing Eclipse, Komodo, Zend to compare the 3 and decide which would best suit my needs. This is not a full review on all of the IDE’s however only a review on the features that i require on a daily basis. I am going to start off by explaining my situation.
At work we have a sandbox environment setup so every developer can create a virtual web server for testing/debugging purposes. Every developer has thier own home directory which can be mounted as a virtual drive on our local systems. This is where all of our files reside. In order to mount that drive we must be connected to the VPN. I am evaluating IDE’s to see which will best suit this situation. Working with files on a remotely mounted drive is sometimes slow. Also loading the project files from this sometimes slow disk can be annoying.
Zend Studio
This is a very nice IDE, it is written in Java so it is cross platform. When you buy this IDE (Standard: $99, Professional: $299) it is a per computer license, which means if you put it on windows, you have to buy another license for your Mac or linux machine. This IDE i have found to be very nice, it is easy to use and the debugging capabilities are really good. This IDE (like others) allows you to debug locally or remotely. When this IDE first hit the market it was sluggish but they have since fixed that and it runs fast now. It has built in support for CVS/SVN however i am finding that it’s not the easiest to use, i cannot get it to checkout a certain branch for a repository (I am not saying it cannot be done, it’s just not easy like in other editors). I really like one feature this has and that is when you right click a directory/project directory, you can choose Find in Files, this will search all of the files for a string even if the file is not open. With Zend Studio you can edit files locally or you can create an FTP connection and edit files directly on the server. Zend has no problems what so ever when creating/opening a project that has 1000’s of files on a mounted virtual drive while connected to a VPN.
EasyEclipse for PHP
While testing out Eclipse i found it to be pretty easy to use, there are a ton of plugins that you can download to extend the features of this IDE. This is open source so you can use it at no cost, i am sure you can donate to the project if you do like the IDE and use it all the time. Showing support for open source projects makes development survive
. The Source Control feature in this IDE is really nice, they provide you with a graphical interface for the initial checkout, and they allow you to grab a particular branch or the head using this graphical interface. The only issue i had was figuring out how to do the initial checkout, one would think you would have a menu at the top of the application in the menu bar that would allow you to open the source control dialogs. However it is a bit confusing, first you create your php project, then you have to create another project and choose source control. I am not sure why they would consider this a project but it was a bit hard to find. The one feature that i use a lot Find in Files i cannot seem to find in this IDE, i would hope they have it but i cannot find it which is a real drawback for me. One drawback that i am seeing to Eclipse is the time it takes to load a project. What i am doing is mounting a virtual drive while connected to the VPN, this is where my project files are stored. I create a new project and assign that path as the workspace, while it imports the 1000’s of files it just hangs while loading until it says not responding. This does not happen all the time, however it has happened about 4 out of 10 tests.
Komodo
ActiveState’s Komodo at first glance looks like a really nice IDE, it has a very easy to navigate UI and has a regex tester built into the application. The Source Control feature was fairly easy to use, and it was also easy to find in the context menu’s. Using this IDE proved to be a good experience, the syntax highlighting (as the other IDE’s have) was very nice and the same for the code folding (the others have this as well). This IDE has the Find in Files feature i was looking for so i really thought i found the best IDE for my needs. There was one BIG drawback to this editor though and it was the factor that made me decide that this editor was not for me. When i loaded up a rather large legacy PHP file, this editor slowed down almost to a halt. It became very hard to scroll through the document, open/close menu’s etc. I actually had to force the app to quit, and it caused a kernel panic on my Mac Quad G5. After that i did not hesitate to uninstall this application and never look back. It could have all the features in the world but if it runs slow and causes a mac to crash there are issues.
I am still on the lookout for the BEST IDE for PHP development but for now i still have to do some more testing to decide whether to use Zend or Eclipse. The only thing that will tell me is using Eclipse for a while and seeing what roadblocks i hit that i flew through in Zend and vice versa. I will post again once i make the decision and share what the deciding factors were.
UPDATE – 8/03/2007
I have since tested Komodo again and sinceI got the Mac Pro and the Intel version of Komodo it seems to run fine. The only issue I have is that it is very slow when working on the SMB share.
11 Comments
pombredanne
- 08/25/06
- 02:26 PM
You said also:
>I am still on the lookout for the BEST IDE for PHP development
Come and join us make it better, both EasyEclipse and PHPEclipse are community projects, and we need all the help we can get, even it is just testing and reviewing and providing cool reviews like yours.
You can find me and other folks for those projects on freenode IRC at #easyeclipse and #phpeclipse
Jiju Thomas Mathew
- 02/15/07
- 09:25 AM
Joe:
you said: One drawback that i am seeing to Eclipse is the time it takes to load a project.
I hope it does not mean for most of my files, since my project files are all less than 15k, and we use SVN and development server in the lan itself.
I have not yet tried using any of the IDE’s, since I was quite happy doing my edits using the Bluefish editor, which is ofcourse not an IDE, but just an editor.
Just started my download of the eclipse for Windows.. Will do the same for linux when I get back home.
Joseph Crawford
- 02/15/07
- 09:36 AM
Hello,
Thanks for asking that it seems I should clarify. I am working over a VPN at home and I have to mount my files from an SMB mounted drive. Between the 3 editors above the only one that will work well for me is Zend.
Eclipse does not have the proper support for SMB mounted volumes so they are very slow to read and write. As for the local projects/files Eclipse worked fine. It just did not work for my situation since all of my files were on the remotely mounted drive.
Rob Marscher
- 02/15/07
- 11:30 AM
Hey Joe,
Man… SMB mounted over a VPN sounds rough. I wonder if it would be better to pull all the files to a local drive and then have an rsync script firing off all the time to send your updates to the drive over the VPN.
You should check out the Zend Eclipse plugins too: http://www.zend.com/pdt
Here’s a direct link to the latest version.
It’s not going to help though with the problem where Eclipse wants to traverse all your files to index it and check for errors/todos.
Joseph Crawford
- 02/15/07
- 11:36 AM
Rob,
Thanks for the tip on PDT. Yea SMB over VPN was slow at first but then my employer got a fast pipe in the offices so it was not slow at all. However the way that Eclipse handles remotely mounted volumes is the issue. The team knows about the issue as I submitted a bug but I am not sure when or if they are working on a fix for it.
Joseph Crawford » Blog Archive » Review: Zend, Support vs Sales Tactics
- 08/17/07
- 08:12 AM
- Pingback
[...] inclined to continue using their products. If you know of a good IDE other than those listed in my PHP IDE’s review please let me know so that I can give it a shot. News, Software, Internet, Entertainment, [...]
elnaz
- 12/17/08
- 01:01 PM
btw i tested all the latest version of these programs in this week:
Zend 6.1
Phped 5.6
Rapid php 2008
Php Designer 6.2.1
Dream weaver CS3
Net Beans 6.5
and honostly 1st is Phped and second is Zend (for slow prob and some code completion) and i know the choosing thing is all personal and every one have a deferent idea, so do NOT blame me on this if u are disagree with me.
for me code completion is a big deal because im very new in PHP and i need to see each property i use in any object.
just wanted to show some of my experience so maybe some day helpful for someone
Joseph Crawford
- 12/17/08
- 01:26 PM
Stas
- 03/06/09
- 02:59 AM
Hi.
Please, review also new free very powerfull PHP IDE – http:/www.codelobster.com
Thanks.
Stas.
Joseph Crawford
- 03/06/09
- 08:21 AM
Stas,
I would love to however I run Mac OS X as my primary operating system. It will have to wait until next week sometime when I am home and can run it under my Virtual Machine.
Now since I run OS X full time I will not use the IDE no matter how good it is, however I will review the software and write up a review on the site.






pombredanne
Joe:
Thanks for checking out EasyEclipse for PHP and PHPeclipse!
Regarding “find in files” in EasyEclipse, you can do that by going to the menu : Search/File
When it comes to mounting virtual drives in Eclipse in general, this typically does not work very well. There is better support for different file systems types in Eclipse 3.2.0 (that EasyEclipse will be supporting soon).
But in general the kind of file system interaction that eclipse wants does not work very well of some remote file system.
I like your idea to make it easier to get to an initial checkout, be it with CVS or SVN.
You typically should not need to create a PHP project first, then doing a checkout. The way to do that is:
*When using SVN, open the SVN repository view, create a new repo location, expand the repo tree to select what to checkout and right-click checkout, then select checkout using the new project wizard, then PHP project.
This will checkout and create a PHP project in one swoop.
*The principle applies if you are doing a CVS checkout.
For that use CVS repo view, create a new location, browse the CVS tree, select a module, right click and check-out as… then using a new project wizards, then select a PHP project type again.
Now this could definitely made easier… could you enter a feature request on EasyEclipse for that?
That would be here:
http://sourceforge.net/tracker/?group_id=131065&atid=719798
Regarding your issue with loading a large PHP projects, would you mind filing a bug on phpeclipse? I am a committer there, and that would be really helpful for us !
The url for that is:
http://sourceforge.net/tracker/?group_id=57621&atid=484801
[Translate]