php-doc-en/appendices/history.xml
2002-02-06 19:25:47 +00:00

326 lines
13 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.13 $ -->
<appendix id="history">
<title>History of PHP and related projects</title>
<para>
PHP has come a long way in the last few years.
Growing to be one of the most prominent languages
powering the Web was not an easy task. Those of
you interested in briefly seeing how PHP grew out
to what it is today, read on.
</para>
<sect1 id="history.php">
<title>History of PHP</title>
<sect2 id="history.phpfi">
<title>PHP/FI</title>
<para>
PHP succeeds an older product, named PHP/FI. PHP/FI was
created by Rasmus Lerdorf in 1995, initially as a simple
set of Perl scripts for tracking accesses to his online
resume. He named this set of scripts 'Personal Home Page
Tools'. As more functionality was required, Rasmus wrote
a much larger C implementation, which was able to
communicate with databases, and enabled users to develop
simple dynamic Web applications. Rasmus chose to release
the source code for PHP/FI for everybody to see, so that
anybody can use it, as well as fix bugs in it and improve
the code.
</para>
<para>
PHP/FI, which stood for Personal Home Page / Forms Interpreter,
included some of the basic functionality of PHP as we know
it today. It had Perl-like variables, automatic interpretation
of form variables and HTML embedded syntax. The syntax itself
was similar to that of Perl, albeit much more limited, simple,
and somewhat inconsistent.
</para>
<para>
By 1997, PHP/FI 2.0, the second write-up of the C implementation,
had a cult of several thousand users around the world
(estimated), with approximately 50,000 domains reporting as
having it installed, accounting for about 1% of the domains
on the Internet. While there were several people contributing
bits of code to this project, it was still at large a one-man
project.
</para>
<para>
PHP/FI 2.0 was officially released only in November 1997, after
spending most of its life in beta releases. It was shortly
afterwards succeeded by the first alphas of PHP 3.0.
</para>
</sect2>
<sect2 id="history.php3">
<title>PHP 3</title>
<para>
PHP 3.0 was the first version that closely resembles PHP as
we know it today. It was created by Andi Gutmans and Zeev
Suraski in 1997 as a complete rewrite, after they found
PHP/FI 2.0 severely underpowered for developing their own
eCommerce application. In an effort to cooperate and start
building upon PHP/FI's existing user-base, Andi, Rasmus and
Zeev decided to cooperate and announce PHP 3.0 as the official
successor of PHP/FI 2.0, and development of PHP/FI 2.0 was
mostly halted.
</para>
<para>
One of the biggest strengths of PHP 3.0 was its strong
extensibility features. In addition to providing end users
with a solid infrastructure for lots of different databases,
protocols and APIs, PHP 3.0's extensibility features attracted
dozens of developers to join in and submit new extension
modules. Arguably, this was the key to PHP 3.0's tremendous
success. Other key features introduced in PHP 3.0 were the
object oriented syntax support and the much more powerful
and consistent language syntax.
</para>
<para>
The whole new language was released under a new name, that
removed the implication of limited personal use that the
PHP/FI 2.0 name held. It was named plain 'PHP', with the
meaning being a recursive acronym - PHP: Hypertext Preprocessor.
</para>
<para>
By the end of 1998, PHP grew to an install base of tens of
thousands of users (estimated) and hundreds of thousands of
Web sites reporting it installed. At its peak, PHP 3.0 was
installed on approximately 10% of the Web servers on the
Internet.
</para>
<para>
PHP 3.0 was officially released in June 1998, after having
spent about 9 months in public testing.
</para>
</sect2>
<sect2 id="history.php4">
<title>PHP 4</title>
<para>
By the winter of 1998, shortly after PHP 3.0 was officially
released, Andi Gutmans and Zeev Suraski had begun working
on a rewrite of PHP's core. The design goals were to improve
performance of complex applications, and improve the
modularity of PHP's code base. Such applications were made
possible by PHP 3.0's new features and support for a wide
variety of third party databases and APIs, but PHP 3.0 was
not designed to handle such complex applications efficiently.
</para>
<para>
The new engine, dubbed 'Zend Engine' (comprised of their
first names, Zeev and Andi), met these design goals
successfully, and was first introduced in mid 1999. PHP 4.0,
based on this engine, and coupled with a wide range of
additional new features, was officially released in May
2000, almost two years after its predecessor, PHP 3.0.
In addition to the highly improved performance of this
version, PHP 4.0 included other key features such as
support for many more Web servers, HTTP sessions, output
buffering, more secure ways of handling user input and
several new language constructs.
</para>
<para>
PHP 4 is currently the latest released version of PHP. Work
has already begun on modifying and improving the Zend Engine
to integrate the features which were designed for PHP 5.0.
</para>
<para>
Today, PHP is being used by hundreds of thousands of developers
(estimated), and several million sites report as having it
installed, which accounts for over 20% of the domains on the
Internet.
</para>
<para>
PHP's development team includes dozens of developers, as well
as dozens others working on PHP-related projects such as PEAR
and the documentation project.
</para>
</sect2>
</sect1>
<sect1 id="history.php.related">
<title>History of PHP related projects</title>
<!-- Hope Stig and/or Egon can do this
<sect2 id="history.phpdoc">
<title>PHP Documentation Project</title>
<para>
</para>
</sect2>
-->
<sect2 id="history.pear">
<title>PEAR</title>
<para>
PEAR, the PHP Extension and Application Repository (originally,
PHP Extension and Add-on Repository) is PHP's version of
foundation classes, and may grow in the future to be one
of the key ways to distribute both PHP and C-based PHP
extensions among developers.
</para>
<para>
PEAR was born in discussions held in the PHP Developers'
Meeting (PDM) held in January 2000 in Tel Aviv. It was
created by Stig S. Bakken, and is dedicated to his first-born
daughter, Malin Bakken.
</para>
<para>
Since early 2000, PEAR has grown to be a big, significant
project with a large number of developers working on
implementing common, reusable functionality for the
benefit of the entire PHP community. PEAR today includes
a wide variety of infrastructure foundation classes
for database access, content caching, mathematical
calculations, eCommerce and much more.
</para>
</sect2>
<sect2 id="history.phpqa">
<title>PHP Quality Assurance Initiative</title>
<para>
The PHP Quality Assurance Initiative was set up in the
summer of 2000 in response to criticism that PHP releases
were not being tested well enough for production
environments. The team now consists of a core group of
developers with a good understanding of the PHP code
base. These developers spend a lot of their time
localizing and fixing bugs within PHP. In addition
there are many other team members who test and
provide feedback on these fixes using a wide variety
of platforms.
</para>
</sect2>
<sect2 id="history.phpgtk">
<title>PHP-GTK</title>
<para>
PHP-GTK is the PHP solution for writing client side
GUI applications. Andrei Zmievski remembers the planing
and creation process of PHP-GTK:
</para>
<blockquote>
<para>
GUI programming has always been of my interests, and I found
that Gtk+ is a very nice toolkit, except that programming with
it in C is somewhat tedious. After witnessing PyGtk and GTK-Perl
implementations, I decided to see if PHP could be made to
interface with Gtk+, even minimally. Starting in August of 2000,
I began to have a bit more free time so that is when I started
experimenting. My main guideline was the PyGtk implementation
as it was fairly feature complete and had a nice object-oriented
interface. James Henstridge, the author of PyGtk, provided very
helpful advice during those initial stages.
</para>
<para>
Hand-writing the interfaces to all the Gtk+ functions was out of
the question, so I seized upon the idea of code-generator, similar
to how PyGtk did it. The code generator is a PHP program that reads
a set of .defs file containing the Gtk+ classes, constants, and
methods information and generates C code that interfaces PHP with
them. What cannot be generated automatically can be written by
hand in .overrides file.
</para>
<para>
Working on the code generator and the infrastructure took some
time, because I could spend little time on PHP-GTK during the
fall of 2000. After I showed PHP-GTK to Frank Kromann, he got
interested and started helping me out with code generator work
and Win32 implementation. When we wrote the first Hello World
program and fired it up, it was extremely exciting. It took a
couple more months to get the project to a presentable condition
and the initial version was released on March 1, 2001. The
story promptly hit SlashDot.
</para>
<para>
Sensing that PHP-GTK might be extensive, I set up separate
mailing lists and CVS repositories for it, as well as the
gtk.php.net website with the help of Colin Viebrock. The
documentation would also need to be done and James Moore
came in to help with that.
</para>
<para>
Since its release PHP-GTK has been gaining popularity. We
have our own documentation team, the manual keeps improving,
people start writing extensions for PHP-GTK, and more and
more exciting applications with it.
</para>
</blockquote>
</sect2>
</sect1>
<sect1 id="history.php.books">
<title>Books about PHP</title>
<para>
As PHP grew, it began to be recognized as a world-wide popular
development platform. One of the most interesting ways of
seeing this trend was by observing the books about PHP that
came out throughout the years.
</para>
<para>
To the best of our knowledge, the first book dedicated to
PHP was 'php- dynamische webauftritte professionell realisieren'
- a German book published in 1999, authored by Egon Schmid,
Christian Cartus and Richard Blume. The first book in English
about PHP was published shortly afterwards, and was 'Core
PHP Programming' by Leon Atkinson. Both of these books covered
PHP 3.0.
</para>
<para>
While these two books were the first of their kind - they were
followed by a large number of books from a host of authors and
publishers. There are over 40 books in English, 50 books in
German, and over 20 books in French! In addition, you can find
books about PHP in many other languages, including Spanish,
Korean, Japanese and Hebrew.
</para>
<para>
Clearly, this large number of books, written by different
authors, published by many publishers, and their availability
in so many languages - are a strong testimony for PHP's
world-wide success.
</para>
</sect1>
<sect1 id="history.php.publications">
<title>Publications about PHP</title>
<para>
To the best of our knowledge, the first article about PHP in
a hard-copy magazine was published in the French Informatiques
Magazine, towards the end of 1998, and covered PHP 3.0. As with
books, this was the first in a series of many articles published
about PHP in various prominent magazines.
</para>
<para>
Articles about PHP appeared in Dr. Dobbs, Linux Enterprise,
Linux Magazine and many more. Articles about migrating ASP-based
applications to PHP under Windows even appear on Microsoft's
very own MSDN!
</para>
</sect1>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->