logo search
Трев_Lecture

7.5. Мова програмування сценаріїв php

PHP - це мова написання сценаріїв, що додаються у HTML-документ. Багато чого із синтаксису даної мови запозичене у C, Java і Perl з додаванням специфічних для PHP можливостей. Завдання мови полягає в тому, щоб надати можливість Web-розроблювачам створювати HTML-сторінки, що динамічно змінюються. Мова PHP - це скрипт-мова (scripting language), що вбудовується в HTML, що інтерпретується і виконується на сервері.

Використання першої версії PHP стало доступним на початку 1995 р, вона була відома як Personal Home Page Tools. До середини 1995 р. з'явилася друга версія, що називалася PHP/FI Version 2. Приставка FI приєдналася з іншого пакета Rasmusa, що орієнтувався на обробку форм (Form Interpretator). PHP/FI компілювалася усередині сервера Apache і використовувала стандартний API Apache. PHP-скрипти виявилися швидкодійнішими, ніж аналогічні CGI-скрипти, тому що серверу не було необхідності породжувати новий процес. Мова PHP по можливостях наблизилася до Perl, самої популярної мови для написання CGI-програм. Була додана підтримка множини відомих баз даних (наприклад, MySQL і Oracle). Інтерфейс до GD-бібліотеки давав змогу миттєво генерувати зображення. З цього моменту почалося широке використання PHP/FI. До 1996 р. PHP/FI була використана принаймні на 15000 Web-серверах Internet. До 1998 р. число Web-серверів, що використовують PHP, зросло до 150000 cайтів.

В червні 1998 р. вийшла нова версія, яка була названа PHP3. До року 1999 р. PHP3 була включена в декілька комерційних продуктів. За даними NetCraft на листопад 1999 р., PHP використовувалася більше, ніж в 1 млн. доменів.

В грудні 1999 була випущена нова версія PHP4, в якій внутрішній «двигун» (Zend) був переписаний. Продуктивність нової версії в десятки разів вища, ніж у попередніх.

Традиційно динамічні WEB-сторінки реалізувались з використанням CGI-скриптів, написаних на Perl. Але CGI- скрипти дуже погано масштабуються. Кожний новий виклик CGI вимагає від ядра породження нового процесу, а це займає процесорний час і витрачає оперативну пам'ять. PHP пропонує інший варіант - вона працює як частина Web-сервера і цим схожа на ASP (Microsoft).

Синтаксис PHP аналогічний синтаксису С або Perl. В цій мові немає строгої типізації даних і немає необхідності в діях по виділенню/звілненні пам'яті. Програми, написані на PHP, достатньо легко читаються. Написаний PHP-код легко прочитати і зрозуміти.

Розглянемо деякі функціональні особливості мови PHP:

Однією з відмітних особливостей мови PHP є інтеграція Web-сторінок з базами даних. В даний час підтримується достатньо широкий спектр баз даних в режимі роботи у власній системі команд і через ODBC: Oracle, Adabas D, Sybase, FilePro, mSQL, Velocis, MySQL, Informix, Solid, dBase, ODBC, Unix dbm, PostgreSQL.

HTTP-аутентифікація користувача (клієнта) в мові PHP доступна тільки при використанні модуля Apache, в який включений PHP-скрипт, що використовує спеціальну функцію Header(). З її допомогою здійснюється відправлення повідомлення "Authentication Required" броузеру користувача, при цьому відкривається діалогове вікно Username/Password, в якому користувачу пропонується заповнити поля username і password. Після їхнього заповнення сервером здійснюється виклик URL-адреси користувача з додатковими змінними, що містять введену інформацію ($PHP_AUTH_USER $PHP_AUTH_PW і $PHP_AUTH_TYPE).

Ім'я користувача і введені ним параметри можуть бути зафіксовані в базі даних чи у dbm-файлі. При повторних звертаннях дані користувача не запитуються.

Можливе використання пароля доступу до матеріалів сервера.