Mar
20
Review: NuSphere PhpED 5.6
March 20, 2009 - 11:07am
As I explained in my previous post, I've been on the hunt for a new PHP IDE. During past searches for this type of tool, I've always taken a glance at NuSphere's PhpED and usually went away screaming rather quickly because of how clunky, ugly, and just plain annoying the interface was (keep reading, though, they fixed this!). My last look at PhpED was verison 5.2 quite some time ago -- it was a good improvement over previous PhpED versions, but it couldn't compete with the Eclipse-based options (at least in the terms that mattered to me).
Which brings me to an important note: what I look for in an IDE is probably not exactly what another coder will look for in an IDE. From what I've experienced, choice of tools for most coders is 50% features/capabilities and 90% preference (oh hai, math!). For me, here is a list of features that are important:
- Clean, tabbed, highly customizable interface
- Stability
- Fast (operation, not necessarily start-up)
- Good project/file management
- Good/customizable syntax highlighting
- Real-time, remote debugging
- Code insight/navigation/etc
- High degree of configurability (keyboard shortcuts, behavior of UI elements, etc)
- Version control integration (SVN specifically)
- Integration with other parts of my workflow (SSH, MySQL, [S]FTP, etc)
- And as we saw with Zend, update regularity is important to me (especially if I pay for it)
My First Day with PhpED
I went to NuSphere's site, which still feels a little underwhelming for some reason, and downloaded, installed, and activated the PhpED Professional trial. PhpED installed easily and quickly, and getting an activation code for the trial was simple and fast.
PhpED Debugger in ActionI knew I wanted to be able to do some real-time debugging on the Linux box under my desk, so I followed NuSphere's instructions on how to install their DBG debugger extension for PHP. I was pleased that their debugger installed without any trouble on PHP 5.2 on my Ubuntu 8.04 server. When starting a new project, you drop a dbg-wizard.php file into the docroot and PhpED test debugger functionality, providing you with feedback on any changes you should make to your server configuration -- such as disabling APC. I was impressed at the ease of the debugger setup. Oh, and compared to Zend's remote debugger, DBG is fast.
PhpED New Project WizardNext I wanted to pull my existing projects into PhpED. I work on a Vista machine that mounts a samba share containing the various docroots from my local Linux web server so I can edit files and test the local version of the site immediately without any bothersome file transfers to interrupt the process. PhpED's workspace/project setup easily and specifically accounted for this arrangement with some simple questions during the new project wizard. I just told PhpED that I work with local files that the web server also has access to, gave PhpED details about the docroot and URL, and PhpED pulled in each project tree flawlessly.
My next stop was syntax highlighting. During the very brief sting that I worked with TextMate, I fell in love with their default syntax highlight color schemes because they are easy on my poor coder eyes. PhpED's syntax highlight settings were easy to find and configure, resulting in a code interface that I was familiar and comfortable with.
PhpED Pop-out WindowsOne of the things I love about Eclipse is the incredibly customizable nature of its window interface. You can dock just about any window anywhere in the IDE, collapse them, temporarily expand them, split views -- just about anything I want. While Eclipse has spoiled me in this regard, I was pleased to find that PhpED is fairly customizable as well. While PhpED can't do everything Eclipse can as far as customizing the interface, PhpED does enough for me to get the interface arrangement I like (only code is visible with pop-out tabs on either side for supporting features like project navigation, reference, etc).
PhpED doesn't include SVN integration out-of-the-box, but their workspace/project navigator provides easy access to the Windows shell menu. This means that since I have TortoiseSVN installed, I was able to easily work with my SVN working copies. While I don't feel that this is an ideal arrangement, it works and doesn't slow me down. I'd like to see tighter integration between PhpED and SVN -- even if it's in the form of more tightly integrating with TortoiseSVN. While I haven't tried this yet, it looks like there may be ways to get some tighter integration now.
PhpED Terminal WindowAnother way in which I'm spoiled with code editors is how some will do little but meaningful things to help you code faster. Of particular interest and use to me is when the editor will auto-close brackets, parenthases, and quotes, then intelligently handle the code when you close them yourself (ie: not adding any additional, unwanted closing characters). Zend Studio does this fairly nicely (though it gets confused sometimes), and a lot of PHP editors out there that I've tried make an attempt at this but end up being more annoying than with the feature off. PhpED, however, has implemented this type of code typing help very well. PhpED intelligent closes and manages brackets and such, pops up useful help when typing a function, and has fast, effective completion options. PhpED for another win here.
PhpED Database ClientI was pretty happy with PhpED having discovered all the things I've already covered... but I became somewhat thrilled with PhpED when I discovered its DB Client and Terminal windows. PhpED lets you easily connect to many databases, browser their structure and data, and even directly query them right from within the IDE. Their terminal integration allows you to SSH (or telnet) and have the terminal window exist seamlessly inside the IDE as well. To be fair, Zend Studio has these features as well in its Remote System Management module -- but that feature is clumsy, hard to use, and often doesn't quite work right. PhpED's implementation of these features, however, is sensible, fast, and easy to use.
Conclusion
I'm pleased to say that through my whole week working with PhpED, I continued to discover new little shortcuts and features that made my life as a coder just a little bit better. PhpED has some very minor annoyances (ie: left arrow at beginning of line does not move cursor to end of previous line UPDATE: you can configure this to work like other editors!), but these are things that I've been able to quickly overlook. At the end of the week, I'm very happy with PhpED -- in fact, I think I'm almost ready to give NuSphere my money.
Summary
I kept a text document open all week and have collected pros, cons, better than Zend Studio for Eclipse (ZSE), worse than ZSE, nifty, and silly features.
Pros:
- Syntax highlight pretty customizable
- Decent filesystem-based workspace/project management
- Configurable shortcuts
- Configurable IDE layout (can hide stuff for maximum code area)
- Smart handling of brackets, parenthases, quotes, etc
- Excellent debugger/profiler that just works
- Intelligent project configuration
- Good external tool integration
- Excellent DB client
- Excellent terminal/SSH client
- Excellent and extensible help integration
- Find declaration
- Shows PHPDoc data
- Code folding that doesn't make me want to shoot myself
- Good code navigator/explorer
- Handy features available on side of every editor tab
- Floating of tabs is handy, esp. with multiple monitors
- Fast
- Pretty configurable (lets me turn annoying stuff off)
- Lets you scroll past EOL
- Intelligent PHPDoc start (auto-populates param statements)
Cons:
- No plugin system that I can see
- Would rather see built-in SVN support than relying on Tortoise
- No line number color change on changed lines to show diffs from saved version
- No X on tabs
- Can't lock toolbars
- No code formatting? Maybe I just haven't found it?
- Behavior of unpinned windows seems a little off
- Left arrow at beginning of line does not go to end of previous line
Better than ZSE:
- Faster refresh of code warnings/errors
- Syntax highlight settings doesn't mess with popups
- CSS editing faster, better
- Debugger install was relatively easy and worked the first time
Worse than ZSE:
- No plugin repository for adding nifty features
Nifty:
- Dynamic highlight mode
Silly:
- "Full Screen" mode
- Popup PHPDoc help when using a function destroys PHPDoc formatting (indents, etc)
- Popup function help doesn't show defaults used in function declaration
to change this setting go to tools->settings->editor options-> and check Cursor Wraps at start of line.
Some stuff still seems kinda buggy to me. Like with highlighting code on left mouse down, it often doesn't stop where i want it to but continues on a few letters. This left arrow thing would have been a killer. I have no idea why it is set off by default...? I really like the interface. Easy to learn, Zend 6 is way too project based for me, sometimes I just want to get in there and test something. This loads maybe 3 times as fast as Zend for me. Code completion could be a tiny bit faster. Kinda defeats the purpose when I can type faster than the code hints.
Kind of a ramble. Thanks for the review
Hi there! Well I'm PhpEd user since version 5.2 came out and because I also do a lot of CSS editing and the integration of css and html is even better than on Dreamweaver.. well makes this the best IDE out there for me.
And since 5.8 we got javascript support also.
The SVN integration is my biggest problem.. a Zend 5.5 like integration would really be nice.
Search in ftp files.. for now you can do that only on local projects files.. but the Smart Sync features you can sync easy local files to a ftp.
The x on the tabs is nice for me that isn't there because I can select tabs without problems and click close by accident. I actually do a middle mouse button click.
@Aaron for the code selection thing there is a option you can deactivate in Tools->Setting->Editor Settings-> "Extend select" ..and now you can select exactly what you want.
Hi, Josh!
please, send me on my e-mail dark colour scheme for syntax highlight for phped (hl.cg), which for you is presented on screenshot
thanx, sorry for my english :-)
Post new comment