PHPBuilder - PHP4/Zend OverView

RSS Twitter

PHP4/Zend OverView

by: Zeev Suraski
July 30, 2000

A lot of you were probably wondering about the recent announcements and discussions about the future of the PHP scripting language. You’ve probably heard the word ‘Zend’ at some point, a few shreds of information about new features and functionalities, and that’s about it. In this article I’ll try to lay out the way I see the future of PHP in its upcoming release, version 4.0.
So, what’s Zend?
Even though I hope that by now the answer to that is pretty clear (at least to people from the PHP community), the myths and pieces of misinformation that surrounded its announcement probably warrant yet another clear explanation.
Zend is a piece of software (component, in Microsoft speak), that implements a scripting language engine. Theoretically speaking, it’s not directly related to PHP. Practically speaking, the fact that it ‘happens’ to implement the very same language makes it the engine of choice for executing PHP scripts.
Before Zend, PHP was powered by three different engines. Rasmus Lerdorf, the inventor of PHP, has written the engines for the first two versions of PHP/FI (he actually wrote just about all of the other code that surrounded the engine for these versions). Towards the end of 1997, Andi Gutmans and myself have written a whole new engine that was later the base of PHP 3.0. The new engine introduced increased performance and reliability, a much more powerful and consistent language definition, and a highly extendible API. All of you, today, benefit from the features of this engine. The fact that I personally can no longer remember all of the SQL servers and 3rd party libraries that are supported by PHP demonstrates its tremendous success, not to mention the various awards and enormous positive feedback it has received.
Since PHP 3.0 introduced many new language features, and since it was a very stable development platform, people began writing complex PHP scripts and packages. Admittedly, PHP 3.0 wasn't designed to run complex scripts or packages that include a large number of files, in the sense that its efficiency dropped significantly as the complexity of the script increased. Recognizing this fact, Andi and I decided to try and design a new engine, that will provide high performance for complex scripts, without degrading the performance of short, simple scripts. That's how Zend was born.
Unlike any of the previous engines, which weren't really separate from the rest of PHP, Zend was designed as a standalone library, that can be easily reused in programs other than PHP. At this time, we have plans to incorporate Zend as a stored-procedure language in the free high-performance SQL server, MySQL. The fact that the code was written from the ground up to be portable not only across computer platforms, but also across different computer programs, makes this task feasible and doable in a reasonable amount of time.

Next Page »

Comment and Contribute

Your comment has been submitted and is pending approval.

Zeev Suraski



(Maximum characters: 1200). You have characters left.