Что такое PHP?
PHP - это язык серверных скриптов (server scripting language), встраиваемый в HTML, который
интерпретируется и выполняется на сервере. PHP является препроцессором HTML. Т.е. его работа построена по следующей схеме:
Рис. 1До того, как сервер "отдаст" файл броузеру, его просматривает препроцессор-интерпретатор. Для того, чтобы это происходило, файлы, которые подвергаются обработке препроцессором, должны иметь определенное расширение (обычно это .phtml или .htm3, но эти значения можно поменять) и содержать (хотя это не обязательное требование) код для препроцессора. Перед отправкой страницы PHP-код проигрывается на сервере и брозеру выдается результат в виде опять таки HTML-страницы, которая может сильно отличаться от
той, что хранится на сервере. Обычные же страницы, имеющие расширение .html/.htm Web-сервер будет отправлять броузеру без какой-либо обработки.
Основное отличие от CGI-скриптов, написанных на других языках, типа Perl или C - это то, что в CGI-программах вы сами пишете выводимый HTML-код, а, используя PHP - вы встраиваете свою программу-скрипт в готовую HTML-страницу, используя открывающий и закрывающий теги (в примере <?php и ?>).
PHP называется языком серверных скриптов в отличие от JavaScript/Jscript/VBScript, которые являются языками клиентских скриптов. Это значит, что PHP-скрипт выполняется на сервере, а клиенту передается результат его работы, тогда как в JavaScript-код полностью передается на клиентскую машину и только там выполняется броузером.
Любители MS Internet Information Server найдут, что PHP очень похож на Active Server Pages (ASP), а энтузиасты Java скажут, что PHP похож на Java Server Pages (JSP). Еще некоторыми аналогами PHP являются языки ColdFusion (www.allaire.com) и embPerl. Все эти языки позволяют размещать код, выполняемый на Web-сервере, внутри HTML-страниц. При желании и умении программировать, вы могли бы и сами написать такой препроцессор, который бы позволял вставлять в Web-страницы код, скажем на языке Фокал или Алгол.
Проще всего работу PHP показать на примере. Так выглядит web-старница с элементами php:
Введение в PHP и MySQL 4
<html>
<head>
<title>Пример</title>
</head>
<body>
<?php echo "Привет, я PHP-программа!"; ?>
</body>
</html>
После выполнения этого скрипта мы получим страничку, в которой будет написано
Привет, я PHP-программа!
Открыв исходный текст данной страницы мы увидим следующее.
<html>
<head>
<title>Example</title>
</head>
<body>
Привет, я PHP-программа!
</body>
</html>
Как видите, в результирующей странице нет и следа PHP-кода. Казалось бы, весьма просто и бесполезно, но PHP позволяет делать и более сложные и фантастические вещи, о некоторых из них будет рассказано ниже.
Возможности PHP
В нескольких словах - на PHP можно сделать все, что можно сделать с помощью CGI-программ. Например: обрабатывать данные из форм, генерировать динамические страницы, получать и посылать куки (cookies).
Кроме этого в PHP включена поддержка многих баз данных (databases), что делает написание Web-приложений с использованием БД до невозможности простым.
Вот неполный перечень поддерживаемых БД:
Adabas D InterBase Solid
dBase mSQL Sybase
Empress MySQL Velocis
FilePro Oracle Unix dbm
Informix PostgreSQL ODBC
Вдобавок ко всему PHP понимает протоколы IMAP, SNMP, NNTP, POP3 и даже HTTP, а также имеет
возможность работать с сокетами (sockets) и общаться по другим протоколам.
Александр Качанов (kachanov@ogs.gomel.by)
Вадим Ткаченко (vvtk@stealthcomp.com) (http://web.stealthcomp.com)
Андрей Головин (mine@convex.ru) (http://exper.ural.ru)