Zend is the best editor I have found bar none. I'm not an uber programmer, but it is the only package that has made it EASY to begin profiling and debugging code. I keep being amazed at how seamless it makes it.
The main reason I chose zend is that it had the most powerful code completion and templating engine, not perfect but far better than any of the other editors I had tried.
With other packages, particularly for debugging and profiling, I've been mired in PHP versions not matching extension versions and everything in between.
PHP-ED is probably the only other top notch option. I found it's editor and code completion sub-par compared to Zend.
I'm not sure what you mean by nightmare to use. I've found it to be fairly straightforward. In my opinion Eclipse is more difficult to use. Any advanced IDE is going to have more options and require a larger investment of your time to learn than your basic editor. I took that into account when I was reviewing the apps for my use.
I had a couple things I wanted the app to do. Code Completion, Code Folding, Line Numbering, PHP / HTML highlighting, php templates.
php templates are like when you want to do a switch/case but don't remember the syntax, Several good editors support templates which work like code completion; so you would type "swi" then your code completion key and it would paste:
switch (key) {
case value:
break;
default:
break;
}
Zend's implementation takes you a bit further and actually guides your keystrokes through setting up the switch. You start with "key" selected, and you just type the name; press enter and it highlights "value", you type it in, hit enter again and it puts you correctly indented right above the first break. That's slick.
It gives you the ability to create your own templates if it doesn't have a canned one.
One thing that I couldn't find in any editor even Zend was proper context switching for highlighting and code completion within PHP processor directives.
for example most could properly highlight and code complete the following:
<html>
<select
but none could properly highlight and code complete as html in heredoc or string quotes which is a shame and a stupid oversight IMHO.
<?php
echo <<<EOT
<html>
<select
EOT;
?>
Zend has excellent search abilities, and includes the ability to catalog and index your code and use it in code completion. All of your user defined functions will come up for code completion, and if you've documented your code with php-doc it will include that in the code completion tool-tips. You can right click a function call and it will automatically find the functions definition, even if its down in another include file. Thats slick!
The forum is full of people who have pulled their hair out just trying to do basic things. In the hands of a seasoned Zend expert, I'm sure it would be magic, but maybe not save development time or effort.
phhhtt. I've never been to the forum, never needed to and wouldn't waste my time. Most likely they are the whinings of wholly incompetent beginners who don't even know the basics of what an IDE should be. They are under the mistaken impression that if you use an IDE it will somehow teach you to program, or somehow provide training wheels while you learn. Any IDE will fail given this expectation. An IDE will help a competent programmer produce a lot more code because of it's time saving features. If you are clueless that the programming construct you need for a particular situation is a switch statement, your IDE has no ability to suggest it to you. If you know to ask for a switch statement the IDE will help you write that statement faster.
I've tested a few Editors/IDE's before settling on Zend.
Maguma Open Studio
NuSphere PHP-ED
Active State's Komodo
Waterproof PHPEdit
DEV-PHP
...and probably others, those are just the ones I haven't uninstalled yet.
Prior to using Zend, I used Eclipse (PHP-ECLIPSE), and prior to that (and still do for some tasks) tswebeditor.
Do what I did, download an eval of each one, and try 'em out using them as you would want to use them. Keep the best one of the lot that works how you want to work.
You owe it to yourself to download zend and at least try their debugging demo. Mucking up your code with var_dumps is a thing of the past once you start using the debugger.