Introduction to PHP

PHP
is a simple yet powerful language designed for creating HTML content.
This chapter covers essential background on the PHP language. It
describes the nature and history of PHP, which platforms it runs on, and
how to configure it. This chapter ends by showing you PHP in action,
with a quick walkthrough of several PHP programs that illustrate common
tasks, such as processing form data, interacting with a database, and
creating graphics.

What Does PHP Do?

PHP can be used in three primary ways:

Server-side scripting PHP was originally designed to create dynamic web content, and it is still best

suited
for that task. To generate HTML, you need the PHP parser and a web
server through which to send the coded documents. PHP has also become
popular for generating XML documents, graphics, Flash animations, PDF
files, and so much more.

Command-line
scriptingPHP can run scripts from the command line, much like Perl,
awk, or the Unix shell. You might use the command-line scripts for
system administration tasks, such as backup and log parsing; even some
CRON job type scripts can be done this way (nonvisual PHP tasks).
Client-side GUI applications Using PHP-GTK, you can write full-blown,
cross-platform GUI applications in PHP. In this book, however, we
concentrate on the first item: using PHP to develop dynamicweb content.

PHP
runs on all major operating systems, from Unix variants including
Linux, FreeBSD, Ubuntu, Debian, and Solaris to Windows and Mac OS X. It
can be used with all leading web servers, including Apache, Microsoft
IIS, and the Netscape/iPlanet servers. The language itself is extremely
flexible. For example, you aren’t limited to outputting just HTML or
other text files—any document format can be generated. PHP has builtin
support for generating PDF files, GIF, JPEG, and PNG images, and Flash
movies. One of PHP’s most significant features is its wide-ranging
support for databases. PHP supports all major databases (including
MySQL, PostgreSQL, Oracle, Sybase, MS-SQL, DB2, and ODBC-compliant
databases), and even many obscure ones. Even the more recent NoSQL-style
databases like SQLite and MongoDB are also supported. With PHP,
creating web pages with dynamic content from a database is remarkably
simple. Finally, PHP provides a library of PHP code to perform common
tasks, such as database abstraction, error handling, and so on, with the
PHP Extension and Application Repository (PEAR). PEAR is a framework
and distribution system for reusable PHP components. You can find out
more about it here.