Мова PHP (PHP: HypertextPreprocessor) - один з найбільш популярних сценарних мов через свою простоту, швидкості виконання, багатій функціональності і поширеності вихідних кодів на основі ліцензії PHP.
PHP складається з ядра і набору підключаються розширень: для роботи з базами даних, сокетами, динамічною графікою, криптографічними бібліотеками, документами формату PDF і ін. Можлива розробка своїх власних розширень з їх подальшим підключенням. Хоча й існують сотні розширень, проте в стандартну поставку входить лише кілька десятків добре зарекомендували себе розширень.
Інтерпретатор PHP підключається до веб-сервера або через DLL модуль. створений спеціально для цього сервера, або у вигляді CGI-програми.
В даний час PHP використовується сотнями тисяч розробників. Близько 20 мільйонів сайтів повідомляють про роботу з PHP, що складає більше п'ятої частки доменів Інтернету
Синтаксис PHP подібний синтаксису мови Сі. При цьому деякі елементи, як наприклад асоціативні масиви і цикл foreach, запозичені з мови Perl.
Для роботи програми на PHP не потрібно описувати будь-які змінні, використовувані модулі, і т.п. Будь-яка програма може починатися безпосередньо з оператора PHP.
echo 'Hello, world!';
Крім обмежувачів , допускається використання додаткових варіантів, таких як <.> і . Крім того, до версії 6.0 допускається використання обмежувачів мови програмування ASP <% %>.
Імена змінних починаються з символу $, тип змінної оголошувати не потрібно. На відміну від імен функцій і класів, імена змінних чутливі до регістру. Змінні обробляються в рядках, взятих в подвійні лапки.
Інструкції завершуються крапкою з комою ()
- в стилі мови С (обмежені / * * /),
- C ++ (починаються з // і йдуть до кінця рядка)
До скалярним типам даних ставляться
- цілий тип (integer),
- дійсний тип даних (float, double),
- логічний тип (boolean),
- строковий тип (string)
- спеціальний тип NULL.
До нескалярним типам відноситься
- "Ресурс" (resource),
- масив (array)
- і об'єкт (object).
Тип NULL призначений для змінних без певного значення. Значення NULL приймають неініцалізірованние змінні, змінні початкові константою NULL, а також змінні, віддалені за допомогою конструкції unset ().
Посилання на зовнішні ресурси мають тип resource. Змінні даного типу, як правило, представляють собою дескриптор, що дозволяє управляти зовнішніми об'єктами, такими як файли, динамічні зображення, результуючі таблиці бази даних і т. П.
Масиви підтримують числові і рядкові ключі і є гетерогенними. Масиви можуть містити значення будь-яких типів, включаючи інші масиви. Суперглобального масивами (superglobal arrays) в PHP називаються зумовлені масиви, які видно в будь-якому місці вихідного коду без використання ключового слова global.
- $ GLOBALS - масив всіх глобальних змінних (в тому числі і призначених для користувача).
- $ _SERVER - містить безліч інформації про поточний запиті і сервері.
- $ _ENV - поточні змінні середовища. Їх набір специфічний для кожної конкретної платформи, на якій виконується сценарій.
- $ _GET - асоціативний масив з параметрами GET-запиту. У початковому вигляді ці параметри доступні в $ _SERVER [ 'QUERY_STRING'] і в $ _SERVER [ 'REQUEST_URI'] в складі URI.
- $ _POST - асоціативний масив значень полів HTML-форми при відправки методом POST.
- $ _FILES - асоціативний масив з відомостями про надіслані методом POST файлах. Кожен елемент має індекс ідентичний значенням атрибута "name" в формі і, в свою чергу, також є масивом з наступними елементами:
- [ 'Name'] - вихідне ім'я файлу на комп'ютері користувача.
- [ 'Type'] - зазначений агентом користувача MIME-тип файлу.
- [ 'Size'] - розмір файлу в байтах.
- [ 'Tmp_name'] - повний шлях до файлу в тимчасовій папці.
- [ 'Error'] - код помилки.
- $ _COOKIE - асоціативний масив з переданими агентом користувача значеннями cookie.
- $ _REQUEST - загальний масив вступних даних запиту користувача як в масивах $ _GET, $ _POST, $ _COOKIE. Починаючи з версії PHP 4.1 включається і вміст $ _FILES.
- $ _SESSION - інформація про поточної сесії користувача.
Серед найбільш часто використовуваних можливостей PHP варто відзначити наступні:
- є великий набір функцій для роботи з рядками;
- робота з регулярними виразами PCRE.
- робота з базами даних, що здійснюється за допомогою модулів:
- php5-mysql для MySQL,
- php5-pgsql для PostgreSQL
- та ін.
- для PHP розроблені засоби шаблонирования веб-сторінок, що дозволяють ефективно розділити подання від моделі, наприклад Smarty;
- є бібліотека для роботи з графічними зображеннями GD, що дозволяє виробляти перетворення з графічними файлами, і створювати зображення "на льоту".
· 10. Лабораторна робота: Розробка CGI-додатків на Perl і PHP
Мета роботи - oзнакомленіе з: основами мов розробки веб-сценаріїв на мовах Perl і PHP; синтаксисом мов Perl і PHP; реалізацією обробки даних, отриманих від клієнтського додатка, на стороні веб-сервера.