The Core of PHP4: Zend
The special topic "The Core of PHP4: Zend" written by Taiwanese Mr. Peng Wuxing. Although it was written last year, I think it helps to have a conceptual understanding of PHP/Zend. So translate it. This is the first time I know that the original name of the Zend engine is a combination of the names of Zeev Suraski and Andi Gutmans, two senior designers who are responsible for core development work in PHP.
Author: Peng Wuxing Introduction: He has set up the Huagang Information Network of Taiwan Cultural University After graduation, he worked as a network administrator at NEC and BIGLOBE. He also opened an Internet word solution column and published articles in Internet Space Magazine. He has in-depth research and practical experience in the Internet, especially in the area of WEB. He currently works at Xunxun Da Computer is responsible for network related work. He is the author of "PHP Bible".
1. Overview:
The name of the Zend engine is a combination of the names of Zeev Suraski and Andi Gutmans, two senior designers who worked as core developers in PHP. The purpose of the development was to develop a new script execution mechanism, and PHP4 It is the first implementation product of this new Zend engine. In some special test environments, the execution speed of Zend (PHP$) is several to hundreds of times faster than PHP3 and ASP. This also means that the unifier of the website's back-end CGI interface must be PHP4? Zend . (Of course, technology is constantly improving, and new engines may appear one day.)
After more than two years of development, the Zend engine has become a generalized programming environment similar to VBA functions. It not only has traditional PHP The function function also adds the function of distributed objects (COM) and can be executed on different operating platforms. If it continues to develop with this potential, the terminator of VBA must be Zend.
When Zend was implemented on PHP4, it made the most complete commitment to the session, which was the biggest shortcoming before PHP3, and also added some future features, such as CyberCash... and so on.
In the opensource community, the only one that can maintain momentum but has not yet been regarded as a competitor by Microsoft, PHP/Zend is the best example. It has completely left ASP behind and is developing towards a VBA environment. However, Microsoft only focused on dealing with Linux and did not pay attention to the threat from PHP/Zend.
System icon:
The user's browser sends a browsing request, and the web server receives the request.
The web server found that it was a request from PHP and needed to be parsed by the PHP engine (according to the file extension), so it sent it to the Zend engine of PHP4.
The Zend engine reads the file from the hard disk and sends it to the Zend online compiler (Run-time Compiler) for program translation. (Maybe the online compilation work can be omitted when Zend Compiler comes out in the future.)
The online execution unit (Excutor) of the Zend engine executes the compiled PHP program. And when necessary, find relevant modules to perform collaborative actions (such as XML, IMAP, ODBC...etc.).
Zend organizes the execution results into HTML files and sends them to the web server.
The web server transmits the results back to the user's browser through the network.