Produced in the heart of PHP country, from whence comes the core of the PHP runtime (the Zend engine), Zend Technologies' Zend Studio IDE is part of a collection of PHP-related products that includes Zend Server, Zend Platform, and others. Zend Studio is built atop the Eclipse IDE. In fact, Zend provides an Eclipse plugin version of Zend Studio, in case you want to enjoy the capabilities of Zend Studio from within a vanilla Eclipse installation. We downloaded and tested the full Zend Studio installation for Windows. A 30-day evaluation version is available from the Zend website.

When we first executed Zend Studio, it detected that we had not installed Zend Server and recommended that we do so. We downloaded and installed the free community edition of Zend Server. It is built on Apache Server and includes performance enhancements such as PHP byte code acceleration, data caching, preinstalled database drivers, and more. In addition, Zend Server is well integrated with Zend Studio. You can open the Zend Server administration directly from within Zend Studio. Also, when you create a new project in Zend Studio with Zend Server installed, the IDE will automatically set the new project's home directory in its proper location in the web server's base (htdocs) directory.

When you create a new PHP source file, you can choose from a number of code templates to jumpstart the file's content. Many are based on the open source Zend Framework. If you create a Zend Framework-based project (available as a project template), Zend Studio will prepopulate the project with components that support the MVC (model-view-controller) structure of a Zend Framework application and open an outline view that gathers each component into the appropriate category.

Because Zend Studio is built on Eclipse, its editing capabilities are virtually identical to those of Eclipse PDT. Its code completion for HTML, PHP, and JavaScript is pretty much the same as in Eclipse. In addition, all the familiar Eclipse constructs appear in Zend Studio: perspectives, views, and so on.

If you've installed Zend Server, setting up a debugging session in Zend Studio is easy. Zend Studio will locate Zend Server, and provided that you set your project's directory in the server's htdocs directory as recommended, debugging pretty much works out of the box. The combination of Zend Studio and Zend Server also simplifies execution profiling. Simply start a profiling session in the Studio and run your application, and Studio produces a variety of execution and coverage statistics, such as time spent in a given file, number of times a function was executed, average time in function, and more.

Zend Studio's foundation in Eclipse is obvious from this screenshot. The servers tab (bottom) indicates that Zend Studio has found the local instance of Zend Server.

Zend Studio installs the Eclipse Data Tools Platform (DTP). This gives you, among other things, the Data Source Explorer, which provides connection to and management of close to a dozen well-known RDBMSes. (Actually, the number of accessible databases is limited only by the number of JDBC drivers you can lay your hands on.) MySQL was one of the preinstalled drivers, so it was easy for us to connect to our XAMPP database. The Data Source Explorer lets you prowl tables, stored procedures, views, and more. Open a table in the explorer, and you can drill into its columns, constraints, indexes, and triggers. You can modify the contents of a table directly in the database table editor. To alter table structures, however, you must manually enter SQL DDL statements. This is done easily enough by creating an SQL file and opening the Database Debug view, from which you can execute adhoc SQL code.

OUR VERDICT

Zend Studio is a fine marriage of the open source Eclipse IDE and the Zend family of PHP tools and technologies. As with Eclipse PDT, you can turn Zend Studio into a Swiss Army Knife of development tools. Zend Studio's biggest advantage, however, is its swift and tight integration with Zend Server, which makes executing, debugging, and profiling your PHP application a breeze.