Looking into Zend Studio 3.0
by John Coggeshall10/23/2003
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.)
What's Missing
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."
Interesting Features
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.
Conclusions
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.
You must be logged in to the O'Reilly Network to post a talkback.
Showing messages 1 through 8 of 8.
-
key mapping on osx
2003-12-02 15:19:21 maarky [Reply | View]
For those of you who don't like the key mapping on os x go to Preferences->KeyMap. From there you can customize everything so that save is command-s for example.
-
CVS
2003-11-21 02:35:47 anonymous2 [Reply | View]
What I found really depressing is that you need to log on to your CVS server by command line (as stated in the manual), not via a kind of dialog in ZS3!
Very unfriendly behaviour.
-
Used on Mac OS X
2003-11-14 04:48:56 jmhowitt [Reply | View]
I recently moved from Windows to Mac so am looking for a Homesite replacement . Zend is pretty good as described but i have two primary niggles.
Keys. These are a mixture of Max and Windows. So sometime you are using the Apple Command Key + another key but sometimes the Ctrl Key + another. This got very confusing. Cut / Paste is Command + C or V but save is Crtl + S ican copt with them being all one or all the other but the mix was irritating.
The second was the snippets folder. In HomeSite i have built up a whole block of short cuts and ... well snippets! Speeds me up no end but i couldn't find anything like it in Studio.
Have reverted to Dreamweaver in 'HomeSite' mode.
The things i liked were as in the main article but i especially liked the error reporting.
-
No-one else had these problems ?
2003-10-28 14:05:45 anonymous2 [Reply | View]
I found that sections of the screen weren't refreshing, text was overlapped, menus had two items 'selected' (in blue) and very slow - it was unusable for me. I guessed it was the Java RE but couldn't overcome the problems with either seperate Sun JRE or the included Zend JRE. The Server component was problematic too with an inability to debug remotely. Meanwhile version 2.6 works fine on the same Win2k (for client) and Linux (for server) machines. Unfortunately I've had to remove it.
Gary
-
Wonderful Tool
2003-10-27 10:36:57 altjeringa [Reply | View]
I've been running Zend since 2.6 came out for Mac OS X an d I've got to say it's saved me tons of time. The current application I'm working on has over 60 classes. Zend includes all the methods for those classes in the code completion library. Major time saver! If I was doing alot of in-line development I don't know that Zend would be any better than using Dreamweaver (not the modules) or BBEdit but as an OO coder Zend is a life saver.
On the downside there are still some OSX integration issues, mostly with key bindings being hard coded instead of use the key mask. This means some commands work with Apple+key and some still use the windows Control+key. Also I've had problems with project not loading properlly on start up.. but that's only on the work machine where my home directory is on the network server.
Zend has come a long way. I highly recommend it for anybody building large scale php applications.
-
Zend Studio 3.0
2003-10-24 12:01:43 anonymous2 [Reply | View]
I agree. I've been using Zend Studio 3.0 for about 2-1/2 weeks now. I had also tried the latest offering from NuSpere, but after two days, I stayed with Zend Studio. This will replace my Home Site/Quanta Plus except for pure HTML coding. For my C coding, I use KWrite. Nice text based editor with good syntex highlighting. Can't imagine how I did coding before highlighting! Now that my MySQL Control center is installed and running, I find myself moving more and more from command-line entering and more to full-fledged IDE's, at least on a day-to-day basis.
-
Some errors I think
2003-10-24 11:40:22 anonymous2 [Reply | View]
I've been using Studio 3.0 at work for a few weeks now and I can only day that I am very glad I ripped myself away from using vim to write PHP. Zend Studio has not really improved the speed of development, but my team is much happier about doing it :)
In reference to a couple of comments in the review - you can split the code view, right click on the source, it's in the menu.
The other thing is that you actually can de-dock some of the bits of the UI, but it isn't very pleasant ;)



I have Zend client installed on a windows XP PC and Zend Server installed on a Redhat 9 box. The location of php scripts are on the Redhat box and are mapped as a local drive on the windows PC.
However, I could only debug the code line-by-line but could not make the debugger stop at breakpoints when I debug remotely.
I wonder whether the breakpoints in remote debugging work or not. If it does work, can anyone help me to figure out what I am missing?