Looking for the perfect PHP IDE


I’ve got a problem. I haven’t found the perfect IDE for me. Yet. I’ve got problems with every software. Now I will try to explain the problems I have and maybe someone shows me the light and helps me to discover the perfect editor/IDE.

First important thing. I’m a Linux user so Windows only softwares are out. I know Mac user really love Textmate but buying a mac is not in my scope. They are good hardware, reliable and of course cool. I know nowadays there are a lot of web developers working with mac but I’m not convinced yet to change my computer from PC with linux to mac. Probably I will make myself the question when the core breaks down. Don’t ask me why but my last three PCs broke down with a fail the core (after years of usage). So the baseline is clear. Software must work with linux and it must work in a native way. Not with wine or things like that.

My requirement list is the following ones:

  • Code auto-completion.
  • Syntax highlight.
  • Debugger.

Easy, isn’t it? But even with those simple requirements I haven’t found yet my perfect IDE. So I’m going to enumerate the problems I’ve got with each one.

Zend Studio 7

It’s not free. That’s not the main problem. But we can find another similar for free. Debugger works fine. Code auto-completion really good. Syntax highlight perfect. Auto indentation and one of my favourite feature code analysis. Really useful. It detects problems such as:

$var = 0;
if ($Var == 0) { // $Var and $var are different variables. It’s probably a type error very difficult to detect in a glance
	...
}

It’s look like the perfect IDE but it’s maddeningly slow. If you are working with a few files is perfect but is your project is big (hundred of files) sometimes you are forced to make too many coffee breaks when it becomes crazy (building workspace…). Maybe if you’ve got a super pc with infinite RAM and hundred cores it works fine but, at least for me it’s irritating.

Eclise PDT

Zend Studio 7 is based on eclipse. PDT it’s almost the same than Zend Studio 7 (without its great integration with the zend services that I don’t use). Exactly the same problems (very slow) but even without some extra features, such as code analysis (really useful for me). By other hand it’s free (as free beer)

Netbeans

Similar features than Eclipse PDT and lighter. Also free. The problem here it’s the debugger. Only works with xdebug. Not a real problem for me. I don’t really mind what debugger to use. Zend debugger and xdebug meets my requirements. But it’s a bit strange how to debug. I don’t like it. In early versions it created the url when you started to debug. And that url cannot be changed properly. That’s means it doesn’t worked for me. Now it’s better but still not good. It looks like the PHP plugin of Netbeans isn’t as good as Java one’s. The future of Netbeans isn’t clear with the acquisition of Oracle. They said Netbeans isn’t an strategical project (that’s means they cut some funds)

VIM

It looks like the perfect editor but It’s hard to learn, at least in the beginning. Syntax highlight perfect. Really light. Works perfect everywhere even on remote hosts via ssh. Code auto-completion works but not as good as in eclipse and Netbeans (but it’s fair enough). I said is not as good as Eclipse and Netbeans because for example it doesn’t hint me with the variables of the function or ignores PHPDoc in the auto-completion pop up, and I really appreciate it. The main problem I have is with the debugger. It’s so strange for me. I thing I need a couple of hours working on it because nowadays debugging with VIM is something like a miracle a miracle for me. Sometimes work but I it’s too many endeavor. Yet. I hope so. If you want more about about PHP and VIM, you must take a look to this link.

Emacs

I must admit that I am too lazy to learn to use it. I invested time with VIM. I feel that I need more and I don’t want to start with another one like emacs from zero. Maybe I’m wrong and that’s the perfect IDE but it’s not in my mind now.

Zend Studio 5.5

That “was” the perfect IDE. It was not for free but it was really good. Fast. Even with big projects (sometimes become crazy and crashed, I known). Debugging was perfect. Only with Zend debugger but really easy to use. You don’t need a great pc. 2G RAM was fair enough. But there’s a problem. This software is obsolete. Zend changed to an Eclipse based one. We can still using it but there isn’t any update. The main problem with it is we cannot use any new PHP5.3 features, such as namespaces. OK we can use them if our server has PHP5.3 but IDE mark those new keywords as syntax errors. So If we work with this software and a PHP5.3 project we need to assume that the red warnings of our editor (syntax errors) are not always errors. It’d be a great new for me if Zend people releases Zend Studio 5.5 as open source a someone continues the project adding PHP 5.3 support.

As you can see I’m not 100% happy with any IDE. Do you have a perfect IDE? I’d really like to be wrong in my assumptions. So I’ll keep looking for.

About these ads

About Gonzalo Ayuso

Web Architect specialized in Open Source technologies. PHP, Python, JQuery, Dojo, PostgreSQL, CouchDB and node.js but always learning.

Posted on August 24, 2010, in opinion, php, Technology. Bookmark the permalink. 31 Comments.

  1. namespaces have been supported in pdt for awhile. Preferences->PHP->php interpreter

    Each of your projects can be either 5.2 or 5.3. Also checkout the zend studio 8 beta a lot of issues with version 7 have been addressed in 8.

    • Yes I know. I want to say that namespaces aren’t supported in Zend Studio 5.5 (you cannot choose PHP5.3). PDT, Netbeans and Zend Studio 7 support PHP 5.3. In fact I preffer PDT than Zend Studio 7. The improvements it has doesn’t incentive me to pay the price.

  2. Hi Gonzalo,

    you should definitly try Jetbrains PHPStorm. My situation was similar to yours, I developed years using ZendStudio from 5.5 to 6 and I did always miss things. Coming from IntelliJ IDEA (Java) to Eclipse (PHP), I first hate that Eclipse (ZendStudio), but there was no real alternative for me. After years of waiting now a big story begins… I used PHPStorm from the first minute of EAP. 1.02 is pretty stable and I love it. PHP, JS, CSS. HTML5 etc. All in one. There are still some things to improve, but hey the price is… compare that to ZendStudio Pro… 50 percent off these days. Give it a try.

    Jp

  3. I agree, no IDE is as good as Zend Studio 5.5 was, don’t know why Zend took the wrong way turning to Eclipse.

    For now I’m tied to Netbeans, it’s working fine, and for the xdebug problems I use the firefox or chrome plugins so i can turn on and off the debugging on the project.

    I’ve tried Aptana but has the same performance problems as every eclipse based IDE.

  4. Wow! Thanks for the PHPStorm tip! It looks great!

  5. I also used to run Zend Studio 5.5, but I also lost interest when they switched to PDT, and raised the price. I have since switched to NetBeans, currently running 6.8 and developing PHP 5.3. I also develop on linux, and NetBeans seems to work well.

  6. Another vote for PHPStorm. Of all the dedicated PHP IDEs I’ve tried, including the very expensive PHPEd, I find that PHPStorm satisfies all my needs. They have a 1/2 off sale until Sept 1st for a personal license and version 2.0 is supposed to be right around the corner and will add support for Zend Debugger.

    • I’ve been testing PHPStorm a bit. It looks great. But When I open my last project, the problems appear again. As I read in the website the namespaces support is not yet complete. Full support will be Q4 2010. I use a lot functions that return classes (and now those classes are within a namespace). PHPStorm doesn’t understand the PHPDoc with functions returning classes and autocomplete doesn’t work. Maybe this bug isn’t very important, but for me is awful. I realy take care about PHPDoc to help the autocomplete, and with this vesion doesn’t work. I will wait impatient until next release. It’s really lightweight and the price is almost for free comparing to competitors.

  7. Give CodeLobster PHP Edition a try.

  8. I’ve been using PhpED for 5 or 6 years now, and I can’t imagine developing without it.

    • I second the vote for PhpED.

      Pros: On Windows, hands down the most intuitive, stable and easy to configure PHP IDE (when I first started out, I had a heck of a time before I configured Zend Studio 5.5. PhpED worked right after installation and has continued to do so ever since). Faster than anything else that is out there. Pro version has a profiler. Overall, the best debugging environment for PHP.

      Cons: Lags behind on HTML, JavaScript and CSS support. However, there is a major (version 6) release right around the corner that is supposed to address these very deficiencies.

      I also use PhpStorm, which is OK if you like Java GUI on Windows.

      • Gonzalo Ayuso

        Nowadays I’m testing PHPStorm and it’s incredible. Probably the better IDE I’ve seen. It has a few issues that I don’t like them, but probably because of my personal habits (I think I will adapt myself easily to them).

  9. I was in love with Zend Studio 5x Series. And I had suggested it to many others. It was just too good.

    Zend switched to Eclipse.

    sigh…

    I’ve switched to Netbeans.

  10. I also tried different IDEs for a few years including most on this lost plus many more like Komodo and UltraEdit.

    Eclispe was ok but the workflow was too confusing – it tries to do too many things.

    It seems that the IDEs written in Java are slow compared to others.

    I finally settled on PhpED and I’ve been using it for several years now. Cannot fault it! It’s just perfect and they keep on making it better. Updates are fairly frequent. They even implemented some of my feature suggestions! :)

    There is a Linux version but I don’t know if it’s still supported.

  11. Gonzalo,

    your unit tests could drastically reduce your debugging needs.

    I’d stick with NB.

    • I really think so but debugging is something really necessary. I’ve spent a lot of time debugging with “echo” I felt right but now I think I need debugging. Unit testing is cool but debugging is necessary. Nowadays, at least for me Netbeans it’s the number one (but I need to master debugging in netbeans yet)

  12. I also used Zend Studio 5.x and switched to Netbeans after Zend switched to Eclipse. Pretty happy with it. And debugging works like a charme for me with FF addon.

    • The problem with Eclipse is when you are working with a big set of files. When “building namespace” appears even when you are trying to rename a file, you are forced to drink a cup of coffee. Coffee is cool but we cannot drink 20 couples of coffee in a morning :). But I admit debugging with Eclipse is perfect.

  13. I have the same problem, since zend studio 5.5 nothing quite did the job. Then I found jedit, I’m currently testing it, and it’s fast with highlighting and code completion working really well. Give it a go.

  14. I KNEW there were others like me out there! Zend 5.5 (and earlier versions) were fantastic and must take a lot of the credit for actually making me start with and stick with PHP. Switching to the Eclipse platform was a HUGE mistake, and countless developers have expressed similar opinions on Zend’s own message boards.

    Since then I’ve used Netbeans and, frankly, it does the job very good once you’re used to it and know how to deal with some of the minor issues. Still doesn’t have the x-factor that Zend Studio 5.5 had, though.

  15. I use netbeans 6.9 now, though in the past when I was stumbling looking for a good feel IDE I tried lots of them. I agree with your take on zend studio 5.5, it is still by far the best zend has ever produced. Netbeans on the other hand has been growing it’s php plugin, I started using it netbeans when they first launched version 6.5 and so far I am happy with the strides they are making to improve the functionality – they actual put in features that the community request, not all but most….so in a nutshell I would recommend netbeans 6.9.

  16. >>Unit testing is cool but debugging is necessary.

    Actually, I see it as the opposite. Debugging is _nice_ but unit testing is necessary. But that is neither here nor there.

    I would also recommend PHPStorm or IntelliJ. IntelliJ has all of the features of PHPStorm but also has excellent support for other languages such as Scala, Python, Ruby, and of course, Java.

  17. Check out Parasoft’s Unit Testing best practices for more info on this topic. They have a ton of free white papers on how Unit Testing increases developer productivity.

    http://www.parasoft.com

  18. Netbeans 6.9.1 with Zend Framework Support

  19. Another vote up for stunning and life-saver PHPStorm :)

  20. Zend Studio 5.x was awesome!!
    Currently using netbeans. If I need another full blown IDE to work on another project quickly I’ll start up Eclipse.
    For smaller / quick edits I like Sublime Text 2

  21. I know – old thread – came across via Google while looking for any chance up updating Zend 5.5.1 to handle php5.3

    I’ve been using Zend for years, and dearly wish 5.5.1 could be upgraded to handle php5.3

    I absolutely loath the current trend of “projects” and local files. I have personal dev servers, under version control, and want to work directly via sftp. Most new IDEs don’t support this.

    The best replacement I’ve found so far is UEStudio – but man I wish I could find the settings/templates to make it look and act more like Zend 5.5.1

  22. When I wrote this post I didn’t knew about PhpStorm. Now it’s my default IDE. It’s not free but IMHO it’s the best one. It’s fast and simple to use, and if you study a little bit its features and shortcuts, it boots your productivity to a higher level

    (PhpStorm people don’t pay me for this answer. In fact I pay them for the license :))

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 978 other followers

%d bloggers like this: