InfoWorld review: Eight PHP power tools
Eclipse PDT, NetBeans, NuSphere PhpED, and Zend Studio lead a capable field of IDEs for Web developers
MPSoftware's phpDesigner 7
MPSoftware's phpDesigner is only available for Windows. This limitation is understandable, given that it is the product of a one-man micro-ISV: Michael Pham, founder, owner, and engineering department for Denmark-based MPSoftware.
A fully functioning 21-day trial version is available for download from the MPSoftware Website. We tested an early release candidate of version 7 of the IDE, and it is an impressive bit of work for a one-person operation.
[ Is Perl, Python, or Ruby best? Do Java or JavaScript count? See "The best open source programming language." ]
Installation of phpDesigner is swift and easy, requiring no additional plug-ins or add-ons. Though phpDesigner is a PHP development tool, it can be used to edit source from a variety of languages, including Python, Ruby, Java, Perl, and others. The IDE offers only syntax highlighting in the additional languages. Active editing assistance (code completion) is available only for PHP, HTML/XHTML, CSS, and JavaScript.
As for phpDesigner, it's equipped with a wide range of code libraries, including the PHP Web-building framework Smarty and many popular SQL databases. The IDE also includes a built-in server equipped with Xdebug. Although phpDesigner can debug Web applications running on an external server (we used a XAMPP installation), it cannot at this time debug applications running on remote systems.
The right side of the IDE is a phalanx of code explorers. These include the Code Explorer, a hierarchical navigation window for the current PHP file, and Code Inspector, a kind of property editor for HTML code. Code Inspector displays -- and lets you modify -- attributes allowed for the HTML tag currently highlighted in the code editor. There's also File Browser, a standard browser into the local file system; FTP/SFTP, a graphical FTP/SFTP explorer; and Project, a standard Project navigation window. In addition, Templates and Snippets are two separate explorers that serve as repositories for prewritten source-code fragments and skeletons that you can drop into the source editor window to accelerate code production.
While working in phpDesigner's text editor, you can -- at any point -- request an "intelligent suggestion" by pressing the Ctrl-Space key combination. This opens a window of allowed source code clauses based on the context of the current insertion point. Code completion is also available. For example, enter an object instance, type the "->" access notation, and a window blooms open with all available methods and variables.
With phpDesigner's HTML preview feature, you can display a Web page in Firefox, Internet Explorer, Safari, or Opera (provided, of course, that the associated browser is installed) from within the IDE. Given that the same HTML might not display identically in different browsers, this is a particularly useful feature.
In addition, phpDesigner lets you check your PHP code's syntax before either running or debugging the application by clicking a "check syntax" button off the debugger menu. This checking is in addition to the as-you-type syntax checking that will catch simple errors in individual lines of code.
If you're debugging a PHP script (that is, a PHP program that runs from the command line), you can run the PHP interpreter directly from within the IDE. The only prerequisite is that you must show phpDesigner the path to the PHP configuration file. For debugging Web applications, phpDesigner plays well with XAMPP; in fact, the documentation recommends XAMPP as the easiest way to construct an Apache-PHP-MySQL development system.
For debugging PHP programs, whether scripts or Web applications, phpDesigner uses Xdebug. You can start debug sessions either from within the IDE or from your browser; phpDesigner boasts all the Xdebug basics -- breakpoints, watches, stepping, and so on. Unfortunately, to debug JavaScript, you must rely on an external debugger such as the Firefox-based Firebug.
Though phpDesigner has no built-in database access tools, it does provide a menu link to the popular and freely available phpMyAdmin tool for working with MySQL databases. (You must configure the IDE so that it "knows" the link to phpMyAdmin.) As an alternative, you could download a separate database manager, and many good freeware GUI-based database tools are available. Nevertheless, it would be nice to have an integrated database manager.
For project management, phpDesigner supports both CVS (Concurrent Version System) and Subversion integration.
While phpDesigner's documentation is passable, it could use some bulking up. A larger collection of how-to or tutorial entries would help a great deal. Nevertheless, we have to be impressed with the quality of this IDE, given that it is largely the fruits of one man's labors. We hope to see improvements in the future.