What to Expect in PHP 5.0 - A Bit of PHP History (Page 2 of 4 )
Ramous Lerdorf, part of the Apache Team, was the creator of PHP. He wrote the first version to manage his own home page. The name Personal Home Page (PHP) was the name given to this collection of Practical Extraction and Report Language (Perl) code snippets in 1994.
PHP was developed so that Ramous could keep a track of users viewing his on-line resume. To give PHP more intellect, Ramous created functions in C to allow the programmer connectivity to a database. This allowed the programmers coding in PHP the power to develop dynamic web sites.
To make sure that the code was what the programmer required, the PHP source code was available for viewing and manipulation. This would lead to an improvement in PHP’s coding standards.
In 1995, the second version of Personal Home Page came out along with a form interpreter (PHP/FI).
By 1997, Over 50,000 websites had PHP installed. In the same year PHP/FI 2.0 was developed as an alpha version. Fortunately for the sake of PHP, Zeev Suraski and Andi Gutmans found that PHP/FI 2.0 lacked the power that was required in developing their eCommerce application.
The advancements toward another version of PHP/FI were stopped and PHP 3.0 was announced to be PHP/FI successor. Version 3.0 was a hit due to its innovative features, which allowed the end users to develop their applications on many databases, protocols and APIs.
The advancement from procedural coding to object orientated coding begun and so PHP’s focus had changed. The official version of PHP 3.0 was released in June 1998.
A few months had past and Andy and Zeev had been working on cleaning up the PHP language to optimize the performance of large websites by introducing modularity. The “Zend Engine” was the result (A combination of two letters existing in the creators Zeev and Andi names). Midway through 1999 the Zend Engine was released.
PHP 4.0 became PHP 3.0 successor in May 2000 when it was officially released. PHP 4.0 was partitioned into three sections – The Zend Engine, Server API and Function Modules.
The Zend Engine is responsible for parsing PHP code, defining the syntax of the programming language.
The Server API allows for the communication and interfacing with the Web Server. With this API, integration of PHP with other servers is possible.
Function Modules include MySQL, XML, etc.
PHP 3.0 and PHP 4.0 used objects as containers of properties like associated arrays. An associated array is array with keys which have a value associated. The object had to belong to a class full of properties and functions.
In the past, objects in PHP where being used as associative arrays rather than the way they should used. That is, objects where being passed into functions by value instead of by reference. This contradicted the purpose of programming with object according to Zeev Suraski in his article about the much anticipated Zend 2.0 with PHP 5.0, where he stated that,
"Objects and other types of values are not created equal; therefore, Objects should be passed around by reference unless stated otherwise."
So far PHP has been a success story. PHP 5.0 is the coming out soon next big thing, since it is based on the newest Zend Engine 2.0 release. Read more on the next page.