Что тaкoe PHP?
Его официальное название - Hypertext Preprocessor (PHP: Гипертекстовый Препроцессор), и он
является языком сценариев, выполняющихся на сервере. Когда ваш браузер пытается получить доступ
к указанному вами URL (Uniform Resource Locator - унифицированный указатель ресурса), он выполняет
запрос к Web-серверу. Когда вы запросите РНР-страницу, например, http://www.youcompany.com/home.php,
Web-сервер активизирует синтаксический анализатор РНР и говорит: "Надо проделать кое-какую работу
перед тем, как я отправлю результат на этот браузер". После этого синтаксический анализатор
выполняет РНР-код, расположенный в файле home.php, и возвращает полученный результат.
Этот результат возвращается Web-серверу как часть HTML кода документа, который, в свою очередь,
передается вашему браузеру для отображения.
Kopoткo об истории РНР
В 1994 году перспективно мыслящий человек по имени Rasmus Lerdorf разработал набор инструментов,
которые использовали синтаксический анализатор для интерпретации нескольких макросов. Эти
инструменты не были особенно оригинальными: гостевая книга, счетчик посещений и несколько
других элементов "домашней страницы", которые были достаточно круты на ранней стадии развития Web.
Он, в конечном счете, скомбинировал эти инструменты с пакетом интерпретации форм
(FI — form interpretation), им же написанным, добавил некоторую поддержку баз данных и выпустил
этот продукт под именем PHP/FI.
Так, в духе свободно распространяемых исходных кодов, разработчики всего мира начали содействовать
развитию PHP/FI. К 1997 году более 50000 Web-сайтов использовали PHP/FI для решения различных задач
- подключение к базе данных, отображение динамического содержимого и т.п.
К этому времени разработка стала по-настоящему результатом коллективных усилий. При участии
разработчиков Zeev Suraski и Andi Gutmans, была создана версия РНР 3.0. Окончательная редакция Р
НР 3.0 была выпущена в июне 1998 года, когда она была дополнена поддержкой множества платформ
(теперь уже не только для Linux) и Web-серверов, многочисленных баз данных, а также протоколов
SNMP (Simple Network Management Protocol - простой протокол сетевого управления) и IMAP
(Internet Message Access Protocol — межсетевой протокол доступа к сообщениям).
В настоящее время:
- Миллионы Web-серверов используют РНР;
- Был выпущен РНР 4.0.0, поддерживающий движок Zend;
- Вот-вот появятся подключаемые (Plug-in) модули оптимизации и отладки РНР-кода;
- РНР 4.0.0 может работать почти с любой комбинацией Web-серверов, операционных систем и баз
данных, которые только возможно придумать.
Что делает РНР?
Согласно руководству по РНР: "Цель языка - помочь Web-разработчику быстро создавать динамически
генерируемые страницы".
Обычно РНР используется для следующих целей:
- Выполнения системных функций: создания, открытия, чтения, записи и закрытия файлов в вашей системе;
выполнения системных команд; создания каталогов; изменения прав доступа.
- Сбора данных с помощью форм: сохранения данных в файле, отправки данных по электронной почте,
возврата обработанных данных пользователю.
- Доступа к базам данных и генерации содержимого "на лету", или создания Web-интерфейса для
добавления, удаления и изменения элементов в вашей базе данных.
- Записи на компьютер пользователя файлов "cookie" и доступа к переменным "cookie".
- Запуска сессий и использования переменных и объектов сессии.
- Проверки имени и пароля (аутентификации) пользователя для ограничения его доступа к разделам вашего
Web-сайта
.
- Создания изображений "на лету".
- Шифрования данных.
Эти возможности используются повсеместно. РНР 4.0.0 включает поддержку для Java, Java Servlets,
XML и бесчисленного множества других высокоуровневых функций. Его возможности безграничны.
Нужен ли вам РНР?
Только вы можете решить, будет ли РНР вашим языком, с помощью которого вы будете разрабатывать
сайты для персонального или коммерческого использования, в малых или больших масштабах.
РНР: гибок, быстр, скромен в своих требованиях, и в то же время обладает мощными возможностями.
Перед тем как принять решение об использовании РНР в больших масштабах или для применения в
коммерческой сфере, ответьте для себя на следующие вопросы:
- Можете ли вы сказать с абсолютной уверенностью, что вы будете всегда использовать Web-сервер с
одним и тем же аппаратным и программным обеспечением? Если нет, обратите внимание на
межплатформенные возможности РНР, доступные для любых типов Web-серверов.
- Будете ли вы всегда иметь один и тот же коллектив разработчиков, полностью состоящий из ASP
(или ColdFusion) разработчиков? Или вы будете сотрудничать с тем, кто есть, что повлечет за
собой необходимость быстрого обучения языку, похожему по синтаксису на С и Perl? Если вы имеете
основания полагать, что ваши ASP или ColdFusion-разработчики могут покинуть вас, то не используйте
эти инструменты, используйте РНР.
- Есть ли у Вас проблемы, связанные с недостатком памяти и загрузкой сервера? Если это так, то
не используйте программное обеспечение, занимающее большой объем памяти, используйте РНР.
В заключение нужно еще раз отметить, что язык РНР достаточно прост - вы только попробуйте его! Если
он вам понравится - используйте его дальше, он с открытым кодом, поэтому вам обеспечена помощь.
Подпишитесь на список рассылки; помогайте другим. Если не понравится, то программное обеспечение
можно быстро деинсталлировать, не причинив ни малейшего вреда вашему компьютеру.
|