mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-17 01:18:55 +00:00

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@113825 c90b9560-bf6c-de11-be94-00142212c4b1
335 lines
13 KiB
XML
335 lines
13 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
||
<!-- $Revision: 1.17 $ -->
|
||
|
||
<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 an eCommerce
|
||
application they were working on for a University project.
|
||
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>
|
||
|
||
<sect2 id="history.php5">
|
||
<title>PHP 5</title>
|
||
<para>
|
||
The future of PHP is mainly driven by it's core, the Zend Engine.
|
||
PHP 5 will include the new Zend Engine 2.0. To get more information
|
||
on this engine, <ulink url="&url.zend.future;">see it's webpage</ulink>.
|
||
</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 - tvorba interaktivn<76>ch internetov<6F>ch aplikac<61>' - a Czech
|
||
book published in April 1999, authored by Jirka Kosek. Next month
|
||
followed a German book 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 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 Czech mutation of
|
||
Computerworld in the spring 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
|
||
-->
|