You zend me

Zend Studio 3.0
Zend Technologies Ltd.
Ramat Gan, Israel
877-936-3747
www.zend.com
Rating: 4 out of 5
Produced by the same company that created the Zend Engine -- the power behind the popular open-source language PHP -- many consider Zend Studio to be the development environment for building PHP Web applications. Zend’s latest release of its flagship IDE, Version 3.0, builds on the features of its predecessors, while adding a host of additional goodies for the professional PHP code slinger.

I have been a Zend Studio user since Version 2.0, and currently use the Studio 2.6.2 release on a regular basis as Web applications developer for the American Legion National Headquarters, and in a wide range of independent Web development projects involving PHP. I installed the new version of the product on a Dell Precision Workstation, running Windows XP Pro with an Intel P3 and 256K of RAM. The IDE communicates with Zend via the Internet during installation to verify the user’s license key, so a fast connection helps to speed the process. I already had PHP, Apache and MySQL running on this PC, but even if I hadn’t, the vendor provides the option of installing PHP and Apache during Studio’s installation. Overall, the installation went off without a hitch.

Zend Studio provides PHP app developers with the rich and responsive experience they expect from an IDE. The layout is clean, well thought-out and customizable. By default, it displays several individual workspace windows, each with its own function (debugging information, PHP function library, project management and so on). Customization is key in the Studio; every aspect of its core functionality -- from the window display to the code coloring to the quick keys -- can be modified by the user. Accessing the Customization panel is a simple toolbar button-click away.

As you type, a drop-down menu appears with information about available functions and classes, allowing you to select the appropriate function from a list, as well as auto-completing the function by hitting the Enter key. A separate pop-up window provides a usage definition and information about the arguments for the function or method you have selected; if the function is native to PHP, a direct link to PHP.net is provided for additional information and examples for using that function; if the function is user-defined, the link brings you to the function within your own code. Brackets close themselves off, preventing careless mistakes.

Debugging information is ever-present, even outside the client/server runtime debugging provided by the Studio; miss an argument in a function, omit a comma in a multidimensional array or forget a semicolon at the end of a line, and the Studio raises a red flag for you to address the issue, even before you attempt to run your code.

Zend Studio’s robust client/server debugging model sets this IDE apart from other PHP dev environments, commercial and open source. The ability to run and debug your code is a standard feature of all professional IDEs, but Zend takes this concept a step further with its Studio Server, which provides direct access to debugging information garnered from running the application on a test server. This feature is crucial because database connectivity is not yet possible from within the Studio itself; for PHP applications that rely on database connections, the ability to remotely debug and preview code output is a godsend.

Another killer feature is the Studio’s built-in PHP function and class library. Although PHP developers do enjoy a comprehensive online manual through the PHP.net Web site, there’s nothing like having the entire function and class library from the online manual at your fingertips within the IDE. In addition to displaying definitions and argument requirements during the coding process, the Studio makes the function library available through the PHP Functions window, providing definitions by simply mousing over the function name. Links to the online manual at PHP.net are provided right in the function definition, so if you’re a PHP newbie itching for an example of how to use preg_replace() properly, you can just click on the “Open Manual” link within the definition popup, and you’re there. And Studio 3.0 looks to the future of PHP by including all the function information from the upcoming PHP5 release.

Files can be managed either individually, accessed through a local or remote (via FTP) server, or grouped within Projects. The Studio provides a tool to inspect app files stored either in the file system or within a Project, outputting information about each file’s features -- classes, functions, arguments and constants, as well as errors and their location. I have always found using the Project method of app management to be a boon, especially for managing multiple Web sites, or for keeping large code repositories corralled in a central location. Accessing files or Project files through the File Manager window is simple and efficient. But the file system browser window (activated when using “Save As,” for example) isn’t extremely responsive; double-clicking on a folder can sometimes be just as likely to rename it as open it. The Studio also allows integration with CVS for keeping track of developing versions of PHP applications.

Studio 3.0 adds JavaScript to the list of languages that have code coloring, a seemingly minor but much appreciated improvement. However, Zend Studio 3.0 still lacks code coloring for XML and CSS, and I find myself moving to other environments when working with particularly thorny XML or CSS documents. In fact, XML’s usage of the <>> tags just plain confuses the Studio, which produces error flags when viewing XML documents. Also on my short list of niggles is the lack of an integrated database browser within the IDE itself; this is a feature of several other IDEs I’ve worked with, and I have grown accustomed to having an at-hand view of my database structure. These are minor issues, however, and I would expect them to be addressed in future versions of the product.

Studio 3.0 continues Zend’s record of providing PHP developers with a professional-grade IDE, with features essential to building, managing and deploying complex PHP applications. Whether you’re working on independent projects or enterprise-class Web applications and services, if you are using PHP, you should be using the Zend Studio.


Bottom Line:

This version of Zend Studio is a comprehensive PHP development environment and a must-have for anyone working with PHP applications.

Pros: Local and remote debugging saves you a trip to the browser to test your code; built-in PHP function library, complete with definitions and links to PHP.net for additional information and examples; supports user-defined functions and classes; Class and Function definitions and argument information can be presented while coding or accessed through a side panel; multiple language compatibility and code coloring for PHP, HTML and JavaScript; comprehensive site and project management tools; Studio Client available for a variety of desktop OSes including Windows, Mac OSX and several Linux distros.

Cons: File browser isn’t extremely responsive; lacks code coloring for XML and CSS; lacks database views and integration within the Studio itself.


System Requirements:

Zend Studio Client:

* Supports: Windows NT 4.0, 2000 or XP; Linux glibc 2.1/2.2/2.3; Mac OSX
* 233 MHz processor (500 MHz processor recommended)
* 128 Mb RAM (192 Mb recommended)
* 50 Mb of hard disk space

Zend Studio Server:

* Supports: Windows NT 4.0, 2000 or XP; Linux glibc 2.1/2.2; FreeBSD 4.x; FreeBSD 3.4 Solaris Sparc 2.x
* 10 Mb of hard disk space


Pricing and Availability:

Zend Studio 3.0 starts at $195 and Zend Studio Plus costs $249. It is available from the company’s Web site as a download or a CD. The Java-based Studio Client is available for Windows, Mac OSX and several Linux distros (RedHat, SuSE, etc.). Studio Server (which facilitates Zend Studio’s remote debugging capabilities) can be deployed on Windows, Linux, FreeBSD and Solaris.

About the Author

Jason Halla is an enterprise J2EE architect with a Fortune 500 company in Indianapolis, and moderator of Devshed's popular Java, PHP and XML forums. He can be reached at [email protected].