InfoWorld review: Eight PHP power tools
Eclipse PDT, NetBeans, NuSphere PhpED, and Zend Studio lead a capable field of IDEs for Web developers
WaterProof Software's PHPEdit
WaterProof's PHPEdit runs on Windows only; the company says it currently has no plans for Linux or Mac OS X. Though PHPEdit is not an open source IDE, you can download a fully functioning 30-day trial version from WaterProof Software. In addition, free personal licenses are available to students learning PHP (their qualifications must be reviewed by WaterProof), as well as organizations employing the IDE for nonprofit uses. Otherwise, you'll have to purchase a professional license (which start at €89).
In addition to the basic capabilities of project management, intelligent editing, and debugging, PHPEdit includes support for the Symfony MVC (model view controller) PHP framework, the free event-driven Web application framework Prado, and the open source CMS eZ Publish. PHPEdit furnishes all the editing fundamentals: syntax highlighting, Code Insight (code completion), live syntax checking, and code hints. The installed frameworks -- Symfony and Prado -- are recognized by the editing assistance components of the IDE. It's important that you use phpDocumentor syntax to comment your code; that's how Code Insight can -- among other things -- supply information about parameters of user-defined functions.
[ JavaScript, Perl, PHP, Python, Ruby on Rails... Where should programmers place their bets? See "Dynamic programming futures." ]
Opening PHPEdit's help system actually opens an explorer pane. The navigable trees within the explorer include MySQL, PHP, PHPEdit, and Symfony. However, PHPEdit's documentation appears to be a work in progress. Some of the help pages were empty in our version. In addition, English is apparently not the help authors' primary language; the documentation had numerous misspellings and awkward constructions. To be fair, the company is based in France, and odds are their English is better than our French.
Operations of the IDE can be automated via PHPEdit script files. The scripting language is simple, consisting of only "action" operations; there are no control structures. Nevertheless, you can customize the IDE virtually without bound; you can even access the actions behind all the IDE's toolbars and buttons. Unfortunately, while the list of available commands is massive, the help section describing them is incomplete. Some pages were empty; others included brief, one-line descriptions insufficient to deduce the command's characteristics.
One particularly nice feature of PHPEdit is its ability to focus on the type of code -- PHP, HTML, JavaScript, or SQL -- that you are currently editing. Click on a bit of JavaScript, for example, and the surrounding text fades to a light gray; the JavaScript stays dark. Also, PHPEdit has the unique ability to recognize an SQL statement, even one embedded in a text string, and offer Code Insight for the SQL being built.
PHPEdit integrates with the well-known Xdebug debugger for debugging. The IDE includes a built-in server, adequate for small-scale PHP applications. For larger projects, you'll want to have an Apache server available. Luckily, getting a debugging session going with PHPEdit is made simpler by PHPEdit's configuration wizard. Also, if a debug session fails to start, a pop-up appears and offers to launch a debugger diagnostic, which steps through the verification of configuration details. It can determine what part of the configuration process you failed to properly set up. PHPEdit will also install a toolbar in Firefox. Click a debug button on the toolbar, and if the current page in the browser corresponds to a file in a PHPEdit project, the associated PHP file opens in the IDE, ready for debugging.
Setting up database connections in PHPEdit's database explorer is relatively easy, and PHPEdit supports all the popular databases: MySQL, Microsoft SQL Server, Oracle, and others. Actually creating a query is less straightforward, as we could find no guiding documentation. We ultimately figured it out, but PHPEdit's help system is truly an area that needs work.
PHPEdit nicely balances between parental hand-holding and polite guidance. Configuring any system for PHP debugging is often tricky, so it's good that PHPEdit detects debugging problems and runs a configuration tool in response. The IDE's one shortcoming is its woefully incomplete help system.