Looking into Zend Studio 3.0by John Coggeshall
In early September, Zend launched the new version of their PHP development environment Zend Studio 3.0, which, by many accounts, is a drastic step forward in PHP development technologies. I've acquired a copy of the new Studio, and today I'll try to give you a reasonable rundown of what this new Studio is all about and if it is worth its price tag.
I've been a PHP developer for a long time, using many different development environments in my PHP projects. When I was asked to do a review of the new Zend Studio, I decided that the best way to really judge it was to actually use it in my day-to-day development. So for a week, I set aside my trusted ActiveState Komodo 2.5 and sat down with Zend Studio 3.0. Here is what I found, what I liked, and how it compared to what I was expecting.
What I Liked
From installation to development, there is one word that I can use to describe Zend Studio 3.0 — easy. Unlike many other PHP-supporting development environments, Zend Studio was incredibly intuitive. Installation on both Windows and Linux platforms (I used Red Hat 8) was quick and simple, requiring little effort to get myself started in development. Once installed, the first thing I noticed when comparing it to previous versions was a drastic increase in speed. Zend Studio 3.0 loaded faster and, as I found, responded nicely no matter how quickly I typed, clicked, or stressed the environment. I must say, I didn't expect this performance from a Java-based application. This was quite the pleasant surprise.
Once the studio was installed, I began immediately using it in the development of a PHP project I was working on. Immediately, I was impressed with the intuitive nature of the environment. Although many environments support things like syntax highlighting, Zend Studio took things a step further with integration with many resources I use on a day-to-day basis, such as the online PHP manual, FTP servers, and CVS repositories. A tabbed sidebar let me open documents from the local filesystem, a project, and remote locations via FTP, as well as browse the complete PHP function list. In larger projects, opening multiple scripts is handled nicely by assigning each open file a tab for easy switching. Zend Studio also boasts a robust syntax-highlighting-and-checking and code-completion system that I found very easy to use. (It even supported the still-beta PHP 5 syntax.)
With all of the positives Zend Studio provides, when compared to other environments I have used which cater to PHP, there are a few features I missed. For instance, the lack of any sort of split-pane viewing of scripts (very useful for very large PHP scripts), the inability to un-dock or otherwise move panes within the environment, and the lack of any sort of internal HTML rendering were some major features I found missing.
Editor's Note: Jason Halla points out, "Actually, you can move & re-dock each of the workspace windows in Studio (such as the File System or Output windows). Go to Tools | Customization | Desktop. Look for the 'Dock workspace windows' option — set the drop-down menu to "Enabled". Hit Apply. Now you can drag and drop the workspace windows wherever they suit you best."
Once you scratch the surface of the Zend Studio, you find that it contains several incredibly valuable tools that can drastically reduce the amount of time needed to develop large-scale PHP applications. From conception to completion, Zend Studio has something for every phase of an application's life cycle.
Note: Although Zend Studio 3.0 does provide support for new PHP 5/Zend Engine 2 syntax, it does not yet provide debugging or profiling capabilities for PHP 5. It is reported that support for these features in PHP 5 will be released following the Beta 2 release of PHP 5.
The first and most commonly sought feature is the studio's remote debugging capabilities. Zend Studio 3.0 supports line-by-line debugging of PHP scripts remotely from within the development environment itself. The debugger is by all measures full-featured, with support for breakpoints, step-throughs, stack traces, and variable watching. It even allows you to preview the contents of the current output buffer. Zend Studio also provides a useful code analyzer, which can help quickly and easily point out common potential problems in your scripts that can lead to both bugs and security vulnerabilities. During my trials of the Studio, I used these features extensively and was quite impressed with how quickly they assisted me in the development of quality PHP scripts.
Since every time a web page powered by PHP is executed, the entire PHP script behind that page is executed, efficiency in large-scale enterprise applications becomes a critical component to success. Once an application has been debugged and is functioning properly, the next logical step is to make each of your scripts function as efficiently as necessary. For this purpose, Zend Studio provides an invaluable remote profiling tool — one of the single biggest strengths of the new Zend Studio. This tool allows developers to profile a script on a function-by-function basis to identify the amount of time each step of execution took to complete. This information can be displayed as a simple itemized list or as a pie chart, allowing you to quickly and easily identify potentially inefficient code in your applications. Even during my trials, I found several different functions and scripts within my own applications that were slower than they should have been. This tool is simply a must-have for anyone interested in developing large-scale enterprise applications in PHP.
On the Server
Beyond the Zend Studio IDE itself (in which you actually do the coding for your applications), an entirely separate facet of Zend Studio resides on your development web server. This server-side component provides the functionality within PHP that allows for the other aforementioned components such as the profiler and debugger to function. However, the server side of Zend Studio also provides a great deal of useful functionality completely independently of the client IDE. The Zend Server Center is a very useful PHP application which, when installed on your server, allows you quick and easy access to all of the configuration settings available in PHP, the Zend-Studio-specific configuration options, and a wealth of information regarding the server itself. Zend Studio also comes with the Zend Information Center, which serves as an online reference manual for the studio and can be accessed by any modern web browser.
When all is said and done, my opinion regarding this product was perfectly clear. When you take Zend Studio as a whole, there is no single product available on the market today that can help you become a more effective developer of PHP applications. For those developers who are looking for a PHP development environment, Zend Studio 3.0 is one of the best choices you can make.
John Coggeshall is a a PHP consultant and author who started losing sleep over PHP around five years ago.
Return to PHP DevCenter.