Americas

  • United States

The Zen of Zend Studio

Opinion
Mar 31, 20034 mins
Enterprise ApplicationsPHP

* Gearhead columnist Mark Gibbs discusses a set of tools for doing some serious development

So after three weeks of PHP you’re just itching to do some serious development, right? Of course you are! And this week we’ll discuss a set of tools for doing that: Zend Studio and Zend Studio Server from Zend Technologies.

But first, a word about Microsoft’s Internet Information Server (IIS). In our less than humble opinion, IIS is a bloated, overengineered mess. It is simplistic where it needs depth, obscure where one would have thought clarity was unavoidable and complex everywhere else.

Yes, yes, we know, either: A) you’ve run IIS in your shop for years and have had no issues and we must be complete weenies to have any problems; or B) you want to give Gearhead a high-five. But in the course of this review, IIS made life amazingly difficult. And it’s interesting that as you start to search the ‘Net for discussions of IIS configuration problems, they are everywhere!

It finally took the combined resources of the highly trained Gearhead laboratory staff and Zeev Suraski, one of Zend’s founders and the designer of PHP, more than two hours to figure out what was (or wasn’t) going on.

Zend Studio is an advanced, integrated development environment designed for PHP coding. It presents a multipaned interface divided into areas for editing, exploring projects, exploring the file system and exploring the functions within files. It also has panes for monitoring script output, debugger trace and tracking watchpoints, breakpoints, variables, the stack and the output buffer. It’s a pretty complicated interface but one you can get used to quickly, and you can hide any panes you want.

You can edit single files and create and modify projects – essentially a group of files. The project configuration files are stored in an XML format. Zend Studio can examine the files in a project and warn you of files that are supposed to be included but haven’t been added.

When you edit scripts, Zend Studio manages indentation, provides code completion, highlights the syntax of PHP and HTML coding in color, does smart bracket matching and generally helps to keep you on the straight and narrow.

Assuming that you have PHP installed, Zend Studio can run your application. In debug mode you can step through the code execution – you can step “into” functions, step “over” a function or step “out” of a function. And a really neat feature is that when the mouse “hovers” over a variable, its value is displayed.

Zend Studio includes CVS integration (Code Versioning System or Concurrent Versioning System) so you can work in a group development environment with the Zend Studio Server.

The other key component is the Zend Studio Server, which provides remote debugging capabilities for servers running PHP and includes tools to set up and manage the PHP subsystem.

The server includes the Zend Debug Server, which manages the code execution on the server; the Zend Server Center, the configuration and management application component; and the Zend Optimizer, which improves PHP application performance by compiling scripts before execution so that the overhead of interpretation by the script engine is avoided.

The Zend Studio Server lets you debug scripts through the script’s URL. Zend Studio can request the Debug Server to load the script via HTTP and the Debug Server connects to Zend Studio using a socket. This socket connection is used to communicate the debugging output from the Debug Server, as well as keep tabs on modifications made to the code in Zend Studio and upload changes to the server.

This is not a secure system because communications between server and client aren’t encrypted and authentication is only a simple password. The company says full authentication is planned for a future release.

Until you save your changes to the server, scripts modified in Zend Studio are run on the server for that user only. All other users will run the saved script while the user debugging the modified script would see the results of the new version.

This is a powerful development system and we haven’t found a better tool for hacking PHP. The development and server components run on every platform PHP runs on, but the Zend Optimizer is only available for Linux. The reason, Suraski tells us, is that under Windows the current release of PHP isn’t stable under high loads. So there’s another reason to migrate your servers to Linux.

You can check out Zend Studio for free for 21 days after which a number of major features stop working. Zend Studio (includes Zend Studio Server) is a very reasonable $195 or $250 with a year of support and upgrades.

Send coding to gearhead@gibbs.com.

mark_gibbs

Mark Gibbs is an author, journalist, and man of mystery. His writing for Network World is widely considered to be vastly underpaid. For more than 30 years, Gibbs has consulted, lectured, and authored numerous articles and books about networking, information technology, and the social and political issues surrounding them. His complete bio can be found at http://gibbs.com/mgbio

More from this author