Architecture of Zend Engine
Overview
Debugging can begin via your browser or directly from the IDE Client. Communication to the Debug Server is by way of your Web server and the Zend EngineTM. Thereafter, interaction between the Debug Server and the IDE Client takes place throughout the course of a Debug Session.
The IDE Client
The IDE Client is Zend's desktop application that enables you to develop your scripts and to interact with the Debug Server. It is comprised of the Zend IDE Desktop (GUI), an editor, Debug window, Filesystem browser, debug module, and a customization tool.
Debug Via Browser
A Debug Session is a structured process of debugging one or more script files. Debug sessions are not limited to independent scripts. Beginning with a root script, a Session can continue through one or more nested scripts until it is terminated.
You can start a Debug Session directly from your browser GUI, by manually defining a set of parameters to the root script's URL.
However, the Zend IDE enables you to access your browser from within the IDE Client. In doing so, the assignment of parameters and definition of a cookie will be done automatically.
Debug Server
The Debug Server is the server-side module that controls the Zend Engine's execution over the course of a Debug Session. The Debug Server oversees a Debug Session process from beginning to end,meaning that it:
- Initiates the Session at your command.
- Executes debugging methods that you choose to apply.
- Terminates the Debug Session at your command
PHP4. Developed by Zeev Suraski and Andi Gutmans, the Zend Engine is an
abbreviation of their names. In the early days of PHP4, it worked as
follows:
The PHP script was loaded by the Zend Engine and compiled into Zend opcode. Opcodes, short for operation codes, are low level binary instructions. Then the opcode was executed and the HTML generated sent to the client. The opcode was flushed from memory after execution.
Today, there are a multitude of products and techniques to help you speed up this process.