2 Синтаксис
Зміст |
Загальні поняття
Мова PHP спеціально призначена для веб-програмування. PHP поєднує переваги мов C і Perl і при цьому вельми простий у вивченні і володіє значними перевагами перед традиційними мовами програмування. Синтаксис PHP дуже нагадує синтаксис мови C і багато в чому запозичений з таких мов як Java і Perl. Програміст С дуже швидко освоїть мову PHP і зможе використовувати її з максимальною ефективністю. У принципі, в PHP є практично всі оператори і функції, наявні в стандартному GNU С (або їх аналоги), наприклад є цикли (while, for), оператори вибору (if, switch), функції роботи з файловою системою і процесами (fopen, *dir, stat, unlink, popen, exec), функції введення-виведення (fgets, fputs, printf) і безліч інших. Мета даного розділу – коротке ознайомлення з основами синтаксису мови PHP. Більш детальну інформацію щодо конкретних складових синтаксису PHP ви знайдете у відповідних розділах.
PHP і HTML
Приклад найпростішого скрипта на PHP наведено нижче: <html>
<head> <title> Приклад </title> </head> <body>
<?php echo "Привіт, я - скрипт PHP!" ; ?>
</body>
</html> HTML-код коректно обробляється інтерпретатором PHP.
Початок сценарію може спантеличити. Головна особливість (до речі, надзвичайно зручна) мови PHP: PHP-скрипт може взагалі не відрізнятися від звичайного HTML-документа.
Сам код сценарію міститься у спеціальному тезі, що починається з "<?php" і закінчується закриваючим "?>" (без лапок). Між цими двома частинами тега текст інтерпретується як програма, і в HTML-документ не потрапляє. Для виводу тексту на сторінку використовується функція echo.
Отже, будь-який текст, який розташований поза тегом <?php ?>, виводиться в браузер безпосередньо. У цьому і полягає головна особливість PHP, на відміну від Perl і C, де вивід здійснюється тільки за допомогою стандартних операторів.
Типи даних в PHP
PHP підтримує вісім простих типів даних. Чотири скалярних типи:
- boolean (двійкові дані)
- integer (цілі числа)
- float (числа з плаваючою крапкою або ‘double’)
- string (рядки)
Два змішаних типи:
- array (масиви)
- object (об’єкти)
І два спеціальних типи:
- resource (ресурси)
- NULL (“порожні”)
Існують також кілька псевдотипів:
- mixed (змішані)
- number (числа)
- callback (зворотного виклику)
Докладно про типи даних можна подивитись у розділі типи даних в PHP.
Вирази в PHP
Основними формами виразів є константи і змінні. Наприклад, якщо ви записуєте "$a = 100", ви привласнюєте '100' змінній $a. Тобто $a – це змінна, = – це оператор присвоєння. Виразом може бути і змінна, якщо їй зіставлять певне значення:
$x = 7; $y = $x;
У першому рядку розглянутого прикладу виразом є константа 7, а у другому рядку – змінна $x, тому що раніше їй було присвоєно значення 7. $y = $x також є виразом. Докладно про вирази можна подивитись у статті вирази у PHP
Оператори PHP
Оператором називається щось, що складається з одного або більше значень (виразів, якщо говорити на жаргоні програмування), яке можна обчислити як нове значення (таким чином, вся конструкція може розглядатися як вираз). Приклади операторів PHP:
Оператори присвоєння:
$a = ($b = 4) + 5; // результат: $a встановлена значенням 9, змінній $b присвоєно 4.
Комбіновані оператори:
$a = 3 ;
$a += 5 ; // встановлює для $a значення 8, аналогічно запису: $a = $a + 5;
$b = "Hello" ;
$b .= "There!" ; // встановлює для $b строкове значення "Hello There!", як і $b = $b. "There!";
Строкові оператори:
$a = "Hello" ;
$b = $a . "World!" ; // $b містить рядок "Hello World!"
$a = "Hello" ;
$a .= "World!" ; // $a містить рядок "Hello World!"
Існують також логічні оператори та оператори порівняння, проте їх прийнято розглядати в контексті керуючих конструкцій мови. Детальну інформацію по операторам можна знайти у розділі оператори PHP.
Користувальницькі функції в PHP
У будь-якій мові програмування існують підпрограми. У мові C вони називаються функціями, в асемблері - підпрограмами, а в Pascal існують два види підпрограм: процедури і функції. У PHP такими підпрограмами є користувальницькі функції.
Підпрограма - це спеціальним чином оформлений фрагмент програми, до якого можна звернутися з будь-якого місця всередині програми. Підпрограми істотно спрощують життя програмістам, покращуючи читабельність вихідного коду, а також скорочуючи його, оскільки окремі фрагменти коду не потрібно писати кілька разів.
Наведемо приклад для користувача функції на PHP:
<?php
//опис функції
function funct() {
$a = 100;
echo $a;
}
funct();//виклик функції
?>
Сценарій виводить 100.
Користувальницьким функціям в PHP можна передавати аргументи і отримувати повертаючиїся функціями значення.
Вбудовані (стандартні) функції PHP
PHP містить величезну кількість вбудованих функцій, здатних виконувати завдання різного рівня складності. PHP має досить хорошу підтримку об'єктно-орієнтованого програмування (ООП). У PHP можна створювати класи різних рівнів, об'єкти і досить гнучко ними оперувати. Ось приклад PHP класу і його використання:
<?php
// Створюємо новий клас Coor:
class Coor{
// Дані (властивості):
var $name ;
// Методи:
function Getname() {
echo "John" ;
}
}
// Створюємо об'єкт класу Coor:
$object = new Coor ;
// Отримуємо доступ до членів класу:
$object -> name = "Alex" ;
echo $object -> name ;
// Виводить 'Alex'
// А тепер отримаємо доступ до методу класу (фактично, до функції усередині класу):
$object -> Getname ();
// Виводить 'John' великими літерами
?>
Ефективність
Ефективність є дуже важливим чинником при програмуванні для середовищ розрахованих на багато користувачів, до яких належить і web. Важливою перевагою PHP є те, що ця мова належить до інтерпретованих. Це дозволяє обробляти сценарії з достатньо високою швидкістю. За деякими оцінками, більшість PHP-сценаріїв (особливо не дуже великих розмірів) обробляються швидше за аналогічні їм програми, написані на Perl. Проте, щоб не робили розробники PHP, виконувані файли, отримані за допомогою компіляції, працюватимуть значно швидше — в десятки, а іноді і в сотні разів. Але продуктивність PHP цілком достатня для створення цілком серйозних веб-застосунків.