PHP is maturing rapidly, and the introduction of Zend Studio 1.0 a year ago was surely a contribution to this growth. With its latest release, Studio 2.0, Zend is attempting to provide a true IDE for programmers. But did it succeed? This article will provide the answer.
Zend Studio 2.0 consists of two components: Zend Studio Client and Zend Studio Server. Zend Studio Client is used for writing, editing, and debugging PHP code. Zend Studio Server is used for enabling script debugging on remote servers.
The Zend Studio Client package includes:
- Zend Development Environment (ZDE)—This is the client application used to create/debug PHP code.
- Zend Information Center—This is a help system containing information about Zend products and PHP itself.
The Zend Studio Server package is installed on your Web server and includes:
- Zend Debug Server—This allows developers to use the ZDE with a remote server.
- Zend Server Center—This is the management console for PHP and Zend installations.
Zend Studio 2.0 is written in Java, bundled with or without the Java Virtual Machine (JVM). It includes an installation wizard that simplifies ZDE client setup. The interface for installing the Studio Server package is separate, and it's a little buggy on Windows. I tested on Windows 98 and 2000—you must remove previous Apache instances and reinstall using the Zend Studio Server installation wizard.
The Zend Studio Server is completely transparent to the client, the only noticeable difference being whether you receive debugging information from a remote server. You don’t really need the Studio Server package if you are editing code from a local Web server. On the other hand, the Web and PHP server management interface is convenient.
The concept behind Studio is excellent. It provides the necessary developer tools for PHP to be considered an enterprise programming language. The collaborative resource environment provided by Studio Server makes centralizing PHP development possible and is truly a time-saver. The help and manual sections included in the Information Center are convenient and complete, and the extensive auto-complete features for both standard and user-defined functions are among the many cool features that make this product worth using.
The interface is clean and simple, providing developers with all the information they need in one glance. Additional data is available under convenient tabs in the debug window. The ZDE has obviously been designed with effectiveness and efficiency in mind. Figure A provides a look at the Zend Studio client interface.
Pretty good implementation
In general, Zend Studio shows better-than-most Java implementation, although I do consistently get a bogus PHP Illegal Operation message in Windows 98 that doesn’t actually seem to affect anything. (I wasn’t able to reproduce this in Windows 2000.) The application is stable and not bloated with unnecessary features.
A few other observations are worth mentioning. Zend Studio, as with any other IDE, seems to be geared toward specific syntax when there are multiple options, but this is bound to happen with any language-specific editor. Also, I encountered some issues because you can't configure the Show In Browser feature of the Output Area to actually parse your script as opposed to displaying the debugger results.
There are no hooks for versioning control, data source options, or browsing code-base architecture. These are areas that must be addressed in future versions to be considered a high-end IDE. On the bright side, the debugger and the native ties to the Zend compiler engine (Zend Encoder) definitely earn it a respectable head start addressing enterprise PHP development needs.
Overall, the ZDE has many great features. The debugger is awesome, with configurable breakpoints and variable watching. It does lack some standard expected features like running highlighted code or a spell checker. Basically, it isn’t as robust as some text editors and not as customizable as some IDEs.
Zend Studio 2.0 analysis
- Feature-rich debugger
- User-defined function name auto-completion
- Required resource checking and notification
- Project creation
- Clean interface
- Zend product platform integration
- Lack of configuration for auto-complete features
- Limited color-coding
- Lack of integrated syntax
- Product customization ability as a whole
- More PHP-specific editing functionality
- Analysis tools
- Cross-reference tools (such as a class browser)
- A focus on larger scale projects’ needs
- Much more, based on user feedback
- Version control integration
- Data source ties
- Ability to update PHP function library
- Greater customization capabilities (such as control over debug levels)
- Filename auto-complete
- Spell checker
To Zend or not to Zend?
Usability and lack of intrusiveness are two key features I evaluate when considering a development tool. Zend Studio 2.0 does a decent job in both of these areas. The support and upgrade option for this software, along with the move to integrate Zend applications, gives Studio an additional boost of credibility. All things considered, the base price of the application is about right, although paying extra for upgrades over the course of the year is somewhat of a downer, considering I can upgrade PHP itself for free.