Zend Studio

Zend Studio 13.6.1

Zend Studio is an Eclipse-based PHP IDE for Windows, macOS and Linux that combines a PHP-aware editor with debugging, profiling, unit testing and Zend Server deployment. Zend now lists it as an end-of-life product.

Updated May 12, 2018
304.44 MB
5.0

Use the arrow keys to choose a rating, then press Enter or Space to submit it.

Excellent 1 user ratings

App Specs

Developerzend.com
LicenseShareware
CategoryUtilities
Available platformsWindows, macOS, Linux
Downloads171

Overview

Zend Studio is a commercial integrated development environment for PHP, built on the Eclipse platform and available for Windows, macOS and Linux. It combines a PHP-aware code editor with debugging, profiling, unit testing, source control and deployment tools. It was designed to work closely with Zend Server, the PHP application server from the same vendor. Zend now lists Zend Studio as an end-of-life product. It supports only older PHP releases, not current versions of the language. The vendor points users toward its ZendPHP runtime offering instead.

Writing PHP in the editor

The Zend Studio editor understands PHP structure rather than treating a script as plain text. Content Assist proposes classes, functions, variables, constants, keywords, interfaces and include paths as you type. It draws on the elements defined in the active project, file or function. The editor offers classes defined in one file in every other file of the same project. Typing an element’s camel-case initials also finds it.

Several details make completion more precise. Typing a function call opens a hint box with its parameters, and choosing a method inserts a template that fills in arguments from the method’s declaration. The editor includes properties and methods declared only in PHPDoc comments with @property or @method. A short @var comment can tell the editor which class a variable holds when PHP itself cannot work it out.

The editor flags errors while you write. The Problems view gathers every error, warning and informational item in open projects with its file, path and line number. Double-clicking an entry jumps to the code, and a lightbulb marks problems that have a quick fix. Hover tooltips show PHPDoc details, and the editor also offers code folding, a split view, multi-cursor editing and a type hierarchy.

Refactoring and project structure

Refactoring in Zend Studio renames or moves files and the elements inside them while updating every reference across the project. The extract-variable operation turns a selected expression into a new variable and replaces the selection with it. The extract-method operation replaces each occurrence of a selected code fragment with a call to a newly created method. The PHP build path decides which libraries and folders the IDE scans, so external code also appears in completion and refactoring. The IDE supports Composer, Phar archives and Zend Framework projects.

Debugging local scripts and server applications

Zend Studio offers several ways to start a debug session, depending on where the code runs. A PHP CLI session runs a workspace file through the PHP executable bundled with the IDE. A web application session debugs a whole application on a server, including pages that wait for user input. Its Local Copy option uses the workspace version of a file when one exists. This means recent edits do not have to be uploaded first. URL debugging starts from an address you enter and only needs the files on the server. A browser toolbar can start sessions directly from the page you are viewing.

In each case you set breakpoints, step through the code and inspect variables and parameters as execution pauses. The debugger works with either the Zend Debugger, which ships with Zend Studio and Zend Server, or Xdebug. For servers behind a firewall, NAT or a private network, a tunnel keeps one persistent connection open for debug and profile sessions, either through Zend Debugger tunneling or through SSH port forwarding.

Finding slow code with the profiler

The Zend Studio profiler runs PHP code and records where time is spent. It uses the same local, remote, web application, URL and toolbar modes as the debugger. Results open in a dedicated profiling perspective:

  • Profiler Information gives the request’s total time, the files involved and a pie chart of how time divides between them.
  • Execution Statistics lists each file and function with its call count, own time, time spent in other calls and total time, shown as times or percentages.
  • Execution Flow shows the order of calls and the duration of each function.
  • Code Coverage Summary counts the lines visited in each file and opens the file with covered lines highlighted.

PHPUnit tests and reports

Zend Studio can create a PHPUnit test case for each class in a file and group test cases into suites that run together. Results appear in the PHPUnit view. A test can also run under the debugger or profiler so you can step through it. After a run, the IDE generates reports as raw XML or as a plain summary with totals, errors, failures and stack traces. It can also generate a report grouped by @package annotations or use a custom XSL stylesheet.

Working with Zend Server

Zend Studio was designed alongside Zend Server. The server monitors applications and records problem scripts and slow requests as events. Zend Studio can open these events, debug them or profile them. You can import events exported from the server as files and debug them on a machine with no access to that server. Code traces exported from Zend Server record function call trees, arguments, return values, timing and memory use. You can import these traces and link them to the matching source files, provided the project exists in the local workspace.

Deployment packages an application with its source code, deployment settings defined in XML and optional hook scripts. The target stages the package and then activates it at a chosen base URL. You can still edit and debug the application in update mode after activation. A production option strips development-only Composer dependencies, Zend Framework modules and local configuration before packaging.

Source control, remote systems and databases

Zend Studio includes Git and GitHub support for cloning, local commits, and push and pull between repositories. It also supports SVN and CVS. Remote Server Support manages FTP and SSH connections and transfers files automatically according to each project’s upload settings. A Terminal view gives command-line access inside the IDE. Database work runs through the Eclipse Data Tools Platform, which connects to databases to view and edit data and run SQL queries in a Database Development perspective.

Zend Studio also includes JavaScript editing, Apigility tooling for building and documenting web service APIs, and integration with Zend Guard for encoding finished projects. You can add other Eclipse plugins through the update manager.

Licenses

Zend Studio was sold under two perpetual licenses for one user, both with a year of upgrades. The Commercial license is meant for businesses and professional developers and includes email support. The Personal license is meant for individuals and hobby projects, with help available through the Zend forum.

Similar Apps