PhpED, available from NuSphere, runs only on Windows, though NuSphere claims that you can execute the IDE on Mac or Linux using the Wine emulator. We tested the most recent version, 5.9, on a Windows XP system. PhpED comes in standard and professional versions. As you might guess, the latter has more features than the former; the website includes a comparison table. Special discounts are available for students, but if you want to try out PhpED, you can download a free 21-day trial version.

The PhpED IDE is equipped with tools peripheral to, but useful in, PHP development. These include a DB Client for database management, a Terminals window for managing Telnet or SSH connections, and a NuSOAP window for working with web services. PhpED also provides its own embedded web server for executing and debugging applications directly in the IDE, but the documentation states that this is suitable for small applications only. Full-blown web applications should be debugged on an external web server; PhpED's debugger, DBG, can work with Apache, IIS, or any web server that executes a standard PHP runtime.

When you first launch PhpED, it executes a series of tests to verify that its various components are executing properly. For example, it checks that the DBG listener extension is running, locates the current version of PHP, verifies that it is associated with the .php extension, and finds the php.ini configurations file and the extensions directory. It will also ensure that a debug session will execute properly; it does this by issuing single step and breakpoint operations to the debugger and verifying that they are acknowledged. This is a bit of a godsend, as you can expend a lot of time just configuring a development system.

PhpED has all the expected code assistance features for PHP, including auto-correction of misspelled words and phrases. Code completion, however, is missing for JavaScript. You can view JavaScript in the Code Navigator, which provides a hierarchical view of JavaScript objects, functions, and variables, but this is limited to JavaScript (.js) files and does not work with JavaScript code embedded in a .php or .html file.

PhpED provides a number of toolbar buttons that accelerate the creation of HTML elements such as text boxes and check boxes. Click one of the buttons, fill in the fields of the entry form that appears, and the HTML code is poured into the document you're editing at the current cursor position.

Also, built into PhpED is a "lite" version of CSE's HTML Validator for checking proper HTML syntax. If you want to see what your application's HTML will produce in the browser, the IDE provides a rendered view. The rendered view is generated by an embedded Internet Explorer, but you can configure the IDE to launch an external browser such as Firefox.

PhpEd's database form wizard will build boilerplate PHP code for connecting to a database, as well as code for adding, deleting, viewing, and updating records in the database. Simply point the wizard at a table in one of your databases and enter the prompted parameters; the source code appears in a window, ready to be cut and pasted into your application. The wizard even produces JavaScript code to perform entry field validation. The NuSOAP wizard is analogous to the database wizard, but whereas the database wizard produces source code for database connections, the NuSOAP wizard will produce source code for SOAP connections.

PhpED is particularly intelligent about setting up debugging. For example, when we asked it to debug using a third party web server, it discovered that we had XAMPP installed and located the root directory for us. Applications can be executed and debugged in various modes. That is, your application might be a command-line script file (which requires only the PHP runtime), it might be small enough to run in the embedded web server, or it might be elaborate enough that it requires an external web server like Apache.

NuSphere's PhpED debugging a small PHP application. The Code Navigator (right) makes it easy to find components in different language contexts -- PHP, HTML, CSS, or JavaScript.

To handle this variety, you can launch PhpED's Settings Wizard. This wizard steps through a series of questions about the project type, where the project's root directory is, what the corresponding document root directory URL is for the web server (if that's required), and so on. At its conclusion, the Settings Wizard will ensure that all the necessary settings are configured so that the PhpED debug/run infrastructure will operate properly.

PhpED's DB Client is built along the lines of a standard database explorer. It can connect to a wide variety of databases, including MySQL, Microsoft SQL Server, Oracle, PostgreSQL and even Firebird. But it is primarily designed for exploring tables. You can examine the table schema (column names and data types), as well as view data. You can enter and execute ad hoc SQL queries and view the results. You cannot, however, graphically manipulate table data, you must issue Insert or Delete statements. The DB Client is not available in the educational or standard editions.

The IDE's help system is a composite of toolbar selections and flyout windows. This is a bit confusing, we were never sure which we should refer to. The toolbar selection is a collection of reference manuals, including a PhpED reference and manuals for PHP, MySQL, JavaScript, and so on. The flyout help includes a Functions window, which opens into a navigable reference dictionary of PHP functions (for both versions 4 and 5), HTML, JScript and VBScript. Another fly-out window opens a tree view into a miniature library of online manuals, including MySQL, CVS, HTML, JavaScript, and others.

OUR VERDICT

NuSphere's PhpED is a solid IDE. Its embedded web server and configuration wizards get you up and running quickly. In addition, NuSphere's website is exceptional, providing plenty of foreground information, as well as numerous video tutorials.