The History of PHP
Every once in a while a person faces a particular problem or requirement to which there appears to be no existing solution. Faced with they problem the person decides to create a solution to provide the functionality that they need.
Having developed the solution to their problem it then occurs to them that others may need to solve the same problem, and they decide to make their solution available to others who, in turn, can use and improve on it. Within a short period of time many people adopt the technology and work on it, adding new features they feel will be useful. The solution soon grows beyond expectations in terms of features and adopted by more people than the original creator could ever have imagined.
The history of PHP is just such a story.
The Creation of PHP
The first version of what came to be known as PHP was created in 1995 by a man named Rasmus Lerdof. Rasmus, now an engineer at Yahoo!, needed something to make it easier to create content on his web site, something that would work well with HTML, yet give him power and flexibility beyond what HTML could offer him. Essentially what he needed was an easy way to write scripts that would run on his web server both to create content, and handle data being passed back to the server from the web browser. Using the Perl language, he created some technology that gave him what he needed and decided to call this technology "Personal Home Page/Forms Interpreter". The technology provided a convenient way to process web forms and create content.
The name "Personal Home Page/Forms Interpreter" was later shortened to PHP/FI and eventually renamed to represent "PHP: Hypertext Preprocessor" (the name is said to be recursive because the full name also includes the acronym "PHP" (an odd geeky joke that is common in technology circles when people have trouble naming things. GNU is another recursive name that represents "GNU's Not Unix").
PHP/FI version 1.0 was never really used outside of Rasmus's own web site. With the introduction of PHP/FI 2.0 this began to change. When PHP 3 was released in 1997, adoption of PHP exploded beyond all belief.
PHP 3 Hits the Big Time
By the time 1997 arrived the number of web sites on the internet was growing exponentially and most of these web sites were being implemented using the Apache web server. It was around this time that Andy Gutmans and Zeev Suraski launched the PHP 3 project, a project designed to take PHP to the next level. One of the key achievements of the PHP 3 project was to implement PHP as a robust Apache Module.
PHP 3 was implemented using a modular approach that made it easy for others to extend functionality, and also introduced the first elements of object-orientation that would continue to evolve through subsequent releases.
The combination of PHP 3 and Apache quickly lead to the widespread adoption of PHP and it is commonly estimated that, at its peak adoption level, PHP3 was used to power over 10% of all web sites on the internet.
PHP 4 - Optimization, Scalabilty and More
With PHP 4 Andi Gutmans and Zeev Suraski once again re-architected PHP from the ground up. PHP 4 was built upon a piece of technology called the Zend Engine. The move the Zend Engine brought about a number of key improvements in PHP:
- Support for other web servers (Microsoft's Internet Information Server (IIS) being of particualr signicance).
- Improved memory handling to avoid memory leaks (one of the most difficult types of problems to isolate in a program).
- Improved efficiency and performance to support large scale, complex, mission critical enterprise application development using PHP.
In addition PHP 4 also built on the earlier Object Oriented Programming features of PHP 3 with the introduction of classes.
PHP 5 - Object Orientation
The main, though far from only, feature of PHP 5 is the improved support Object Oriented Programming (OOP). In addition PHP 5 introduced some features commen in other langauges such as try/catch error handling.
PHP 5 also introduced new extensions aimed at easing the storage and manipulation of data. Significant new features include SimpleXML for handling XML documents, and SQLite, a basic and easy to use database interface.