|All reviews||Zend Studio 4.0||Latest reviews||Best sellers ranking|
Zend Studio 4.0
April 29, 2005
Week: 308 All time: 55
manuellemos.netAll a developer needs to write PHP applications is a text editor. However, besides writing the code, developers also need to test and debug their PHP applications. Usually developers are more productive when they can write, test and debug using the same tool. Integrated development environment (IDE) tools were created for that purpose.
Zend Studio is one IDE tool that runs on your desktop. It is dedicated specifically to the development of PHP applications. It provides several tools to assist in the development cycle for editing, testing and debugging PHP code.
Zend Studio provides browse and fetch access to Code Snippets from the Zend site, which may help less experienced developers learn how to execute common tasks, so they do not feel lost when they find a problem that they never solved before.
The editor also supports real time code completion. This means that it can provide suggestions to complete what a user is typing.
The editor knows the names of all PHP functions and their argument lists. So, it can complete the name of a function as soon as a user types a few letters. If there is more than one function that could complete what a user has typed, a list of all possibilities shows in a pop-up window so that the user can select which one is required.
The editor is also aware of context from the current PHP source file, and its included files. For instance, if the user is typing a statement to create a new object, the editor suggests the names of the possible classes that may be created by the current script.
Code completion support is smart enough to complete the names of functions or variables or classes of objects assigned to variables previously assigned in the same script. This is a feature that saves a lot of lookup of the documentation or source code of classes or other scripts used in your applications.
There is also an interesting feature named Smart Goto. This lets developers tell the editor to jump to the section of the source code defining the function or variable that the developer clicked while holding the CTRL key (or Meta Key in Mac computers). This is certainly very useful for checking code used in different parts of scripts.
For developers working on database applications, Zend Studio now includes support for access to the several types of databases supported by PHP, to allow developers to browse the database structure and test SQL queries.
For developers who are interested in documenting their projects' source code, this editor provides good support for embedding documentation in the form of PHP comments with special markup using the PHPDoc format.
Then a developer can use the PHPDocumentor tool right from the editor to extract and generate documentation files in HTML. A wizard dialog guides a developer through the steps of configuring PHPDocumentor to generate documentation according to their needs. PHPDocumentor is a separate PHP tool but it is distributed as part of Zend Studio.
Zend Studio also provides good CVS integration. CVS is a very popular source code management tool. Source code management is crucial for integrating the work of teams of developers, but even for developers who work alone it can be very useful for keeping track of changes to their projects' source files.
Developers can execute the most common operations on files of a CVS repository such as checkout, commit, diff, update, log, add, and status, using Zend Studio menus. The result of a diff operation is displayed in a separate window to let developers see a visual representation of the changes made on a file. CVS is a separate tool but it is distributed as part of Zend Studio.
In Zend Studio, all source files that a developer is working on at a given moment can be grouped in a project. A project's definition may be saved in a special project file, so that a developer can reopen all source files at once on resuming work on that project later. The source files and the project files can be stored on a local disk drive or on a remote server accessible via FTP or SFTP (secure FTP over SSH 2 protocol).
Opening remote files or uploading them when they are updated are transparent operations. Developers just need to configure, once, the host, user name and password of the remote server. Then the remote server location appears as a separate disk in the file selection dialog windows.
Once the project scripts are written, developers are ready to run and test them. Often, it happens that the code has bugs despite being syntactically correct.
In order to reduce the time to test and fix these bugs, Zend Studio provides a code analyzer tool which is capable of understanding PHP constructs. It detects code sequences that are probably wrong, like for instance the use of variables before they are initialized.
The support for debugging PHP scripts is also well covered by Zend Studio. It includes special PHP extensions that come with a separate package named Zend Studio Server, which needs to be installed on the server side to control the execution of PHP scripts running on a server controlled by the developer.
The Zend Studio package may reuse an existing PHP installation. So, it is not necessary to install a special server only for debugging purposes.
These debugging extensions let Zend Studio single-step over a script of a given page or make it run until it reaches breakpoints set by the developer. When a script is stopped for debugging, a developer can inspect variables or the current output of the script.
Zend Studio can even be used to debug scripts running on productions servers accessible via the Internet. During a debugging session, Zend Studio needs to establish a bidirectional TCP connection with the server.
However, remote debugging does not work when Zend Studio is running on a machine that is on a network behind a firewall or which accesses the Internet using NAT (shared Internet connections using Network Address Translation).
To solve this problem, Zend Studio provides an alternative solution to connect with the remote server using a clever HTTP tunneling technique. Additionally it can also encrypt communications using SSL.
For developers who do not want to, or who cannot, use a Web server to test and debug their scripts, Zend Studio also provides a local debugging mode that uses a local copy of the PHP CGI mode executable to test and debug scripts on the local machine.
These capabilities make Zend Studio stand out from the crowd of existing PHP debuggers as they solve common connectivity and security issues in debugging PHP applications running on remote servers.
Besides testing and debugging PHP scripts, Zend Studio also can be used to benchmark their execution using the profile function. This function executes a script and then produces nice graphics that represent the time taken to execute each section of the script.
Profiling helps developers see clearly what parts of their scripts are taking more time to execute and where it would be worth investing more optimization effort.
There are other interesting features not covered in this already long review because such features are mainly related to the integration of other Zend products that are not really part of Zend Studio, and so they should be the subject of separate reviews.
For developers who are considering buying Zend Studio, keep in mind that there are two versions: standard and professional. The main difference is that the standard version lacks many of the advanced features, making it useful only for writing and debugging local scripts. Considering that the price difference is not too much, for most serious developers, the professional version is well worth the extra money for the advanced features that it provides.
Overall, Zend Studio 4 is one of the most complete tools that PHP developers can buy. It is way more than a PHP editor. The integration of several other tools address most of the PHP developer needs, significantly increasing the productivity of the whole cycle of the development of PHP applications. If you are looking for a complete tool for serious PHP development, Zend Studio is certainly one of the best options available.
No comments were submitted yet.