The Zend Engine is a
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
and
runtime environment
In computer programming, a runtime system or runtime environment is a sub-system that exists both in the computer where a program is created, as well as in the computers where the program is intended to be run. The name comes from the compile ...
for the
PHP
PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
scripting language and consists of the Zend Virtual Machine, which is composed of the Zend Compiler and the Zend Executor, that compiles and executes the PHP code. It was originally developed by
Andi Gutmans and
Zeev Suraski
Zeev Suraski ( he, זאב סורסקי ) is an Israeli programmer, PHP developer and co-founder of Zend Technologies. A graduate of the Technion in Haifa, Israel, Suraski and Andi Gutmans created PHP 3 in 1997. In 1999 they wrote the Zend Engi ...
while they were students at the
Technion – Israel Institute of Technology
The Technion – Israel Institute of Technology ( he, הטכניון – מכון טכנולוגי לישראל) is a public research university located in Haifa, Israel. Established in 1912 under the dominion of the Ottoman Empire, the Technio ...
. They later founded a company called
Zend Technologies
Zend, formerly Zend Technologies, is a Minneapolis, Minnesota-based software company. The company's products, which include Zend Studio, assist software developers with developing, deploying, and managing PHP-based web applications.
The company w ...
in
Ramat Gan
Ramat Gan ( he, רָמַת גַּן or , ) is a city in the Tel Aviv District of Israel, located east of the municipality of Tel Aviv and part of the Tel Aviv metropolitan area. It is home to one of the world's major diamond exchanges, and man ...
,
Israel
Israel (; he, יִשְׂרָאֵל, ; ar, إِسْرَائِيل, ), officially the State of Israel ( he, מְדִינַת יִשְׂרָאֵל, label=none, translit=Medīnat Yīsrāʾēl; ), is a country in Western Asia. It is situated ...
. The name Zend is a combination of their forenames, Zeev and Andi.
The first version of the Zend Engine appeared in 1999 in PHP version 4. It was written in
C as a highly optimized modular back-end, which for the first time could be used in applications outside of PHP. The Zend Engine provides memory and resource management, and other standard services for the PHP language. Its performance, reliability and
extensibility
Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be t ...
played a significant role in PHP's increasing popularity.
This was followed by ''Zend Engine 2'' at the heart of
PHP 5.
This was followed by ''Zend Engine 3'', originally codenamed ''phpng'', which was developed for
PHP 7
PHP is a general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by The PHP Group. ...
and significantly improves performance.
The newest version is ''Zend Engine 4'', which was developed for
PHP 8.
The source code for the Zend Engine has been freely available under the
Zend Engine License
The ''PHP License'' is the software license under which the PHP scripting language is released. The PHP License is designed to encourage widespread adoption of the source code. Redistribution is permitted in source code, source or binary file, ...
(although some parts are under the
PHP License
The ''PHP License'' is the software license under which the PHP scripting language is released. The PHP License is designed to encourage widespread adoption of the source code. Redistribution is permitted in source or binary form with or wit ...
) since 1999, as part of the official releases from php.net, as well as the official
git
Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integ ...
repository or the
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
mirror. Various volunteers contribute to the PHP/Zend Engine codebase.
Architecture
Zend Engine is used internally by PHP as a compiler and runtime engine.
PHP Scripts are loaded into memory and compiled into Zend
opcodes
In computing, an opcode (abbreviated from operation code, also known as instruction machine code, instruction code, instruction syllable, instruction parcel or opstring) is the portion of a machine language instruction that specifies the operat ...
.
These opcodes are executed and the HTML generated is sent to the client.
To implement a Web script interpreter requires three parts:
# The interpreter part analyzes the input code, translates it, and executes it.
# The functionality part implements the functionality of the language (its functions, etc.).
# The interface part talks to the Web server, etc.
Zend takes part 1 completely and a bit of part 2; PHP takes parts 2 and 3.
Zend itself really forms only the language core, implementing PHP at its very basics with some predefined functions.
See also
*
References
External links
*
*
Official git repository*
{{PHP
1999 software
C (programming language) software
PHP
PHP software