Лекція 26. PHP для веб-програмування
PHP протягом багатьох років стабільно знаходиться з списку найбільш популярних мов програмування і веб-розробки. Звичайно, є й інші мови, проте поширення сайтів на основі WordPress багато в чому послужило додатковим поштовхом до ще більшого зростання популярності цієї мови.
Всі команди і скрипти, написані на мові PHP, виконуються на сервері. Після того, як PHP-скрипт виконається на сервері, сервер «віддає» результат своєї роботи, який можна побачити в браузері.
Тут важливо розуміти наступний момент: по вихідному коду веб-сторінки, який можна подивитися в браузері, не можна визначити, чи використовувалась мова PHP для створення даної сторінки.
Для повноцінної роботи з PHP потрібно:
- Веб-сервер (зазвичай Apache);
- Система управління базами даних (СУБД) MySQL;
- Встановлений інтерпретатор PHP;
- Редактор для написання коду;
- Браузер.
Для того, щоб повідомити сервер про те, що треба провести обробку PHP-коду, необхідно використовувати наступний синтаксис:
<?php
…PHP-код
?>
Відкривання блоку PHP-коду позначається з <?php, а закривання – ?>.
Розглянемо наступний приклад:
<?php echo "Це PHP-код в дії"; ?>
В даному прикладі весь код записаний в один рядок. Пробіли та перехід на новий рядок не грають ролі і не вплинуть на кінцевий результат.
Команда echo – команда для виведення інформації на екран. Кожна команда в PHP відділяється від попередньої знаком крапки з комою в кінці цієї команди.
Коментарі
До коду PHP, так само, як і в HTML чи CSS, можна залишати коментарі, які будуть проігноровані PHP при виконанні програми.
Їх зазвичай використовують для того, щоб залишати будь-які позначки в коді або тимчасово прибрати якісь рядки коду, які заважають, а потім мати можливість швидко їх повернути назад.
Коментарі можуть бути багаторядковими і однорядковими:
<?php
//приклад однорядкового коментаря
/* Приклад
Багаторядкового коментаря. */
?>
Оголошення змінних та операція присвоєння
Змінна в PHP – це своєрідний контейнер, який може містити певну інформацію. Для того, щоб створити такий «контейнер», потрібно його назвати і вказати, яка інформація має в ньому міститись. Робиться це за допомогою знаку $, який означає, що це ім’я змінної. Приклад:
<?php
$test = "Це PHP-код в дії";
echo $test;
?>
Результат обробки цього коду буде таким же, як і в попередньому прикладі.
Ім'я змінної має складатися з англійських літер: великих чи маленьких, а також цифр і знаку_підкреслення.
Дуже важливим елементом програмування є операція присвоєння.
За допомогою присвоєння можна помістити в змінну результат будь-якої операції, наприклад, текстовий рядок або число, а потім отримати ці дані в потрібному місці і скористатися ними. Приклад присвоєння:
<?php
$a = 4; //присвоєння змінній $a значення 4
?>
Дозволяється використовувати змінні всередині рядків, взятих в подвійні лапки. При цьому змінну слід заключати в фігурні дужки. Однак змінні, розташовані всередині рядків, взятих в одинарні лапки, будуть інтерпретуватися як звичайний текст:
<?php
$a='apple';
echo '$a'; //в тексті виведе ім’я змінної - $a
echo "{$a}"; //в тексті виведе вміст змінної - apple
echo '{$a}'; //в тексті виведе ім’я змінної – {$a}
?>
Доволі часто виникає необхідність об'єднання двох і більше рядків в один. Такий процес називається конкатенацією. Здійснюється він за допомогою звичайної точки. При конкатенації з рядком значення будь-якого типу будуть також перетворені в рядок:
<?php
$str_1='Один ';
$n=2;
echo $str_1.$n; // виведе результат «Один 2»
?>
Типи даних
При роботі з різними значеннями в програмі, доводиться маніпулювати різними типами цих значень (типами даних).
Всього в PHP підтримується вісім типів даних:
- bool – логічний тип, який містить всього два значення: TRUE та FALSE;
- integer – цілочисельний тип;
- float – дійсні числа (числа з плаваючою точкою), наприклад, -0.5, 4.25 або 1.23e-3 (експоненціальна форма запису);
Операції з дійсними числами іноді можуть призводити до спеціального нечислового результату, який в PHP представлений константою NAN. Зазвичай це може бути пов'язано з виконанням недопустимих математичних операцій над числами або виходом за допустимий діапазон значень для даної математичної функції.
- string – рядки, тобто текст довільної довжини, взятий в одинарні або подвійні лапки;
- array – масиви;
- object – об'єкти;
- resource – ресурси містять посилання на зовнішні ресурси і являють собою звичайні текстові рядки, що містять ідентифікатори, за допомогою яких інтерпретатор визначає необхідні зовнішні джерела і взаємодіє з ними;
- NULL – спеціальне порожнє значення NULL.
В більшості випадків не потрібно явно встановлювати тип змінної, тому що PHP відноситься до мов програмування з динамічною типізацією даних, тобто тип змінної визначається PHP під час виконання скрипта в залежності від конкретної ситуації, в якій використовується змінна.
Масиви
Масив – це впорядкований набір значень, які об'єднані загальним ім'ям. Самі значення називаються елементами масиву. Доступ до них може бути отриманий за допомогою унікального індексу, який присвоюється кожному елементу масиву.
Варто зазначити, що в PHP масиви є нетипізованими – елементи одного і того ж масиву можуть відноситися до різних типів даних, включаючи інші масиви, наприклад:
[5, "Василь", NULL, ["прізвище", "місто"], 34.5]
Також вони є динамічними – оголошувати фіксований розмір масиву не потрібно, а видаляти або додавати нові елементи можна в будь-який час у міру необхідності.
Для створення масивів використовується спеціальна мовна конструкція array(), в якій в якості параметрів через кому вказуються пари 'key => value' ('ключ => значення'), або квадратні дужки, які замінюють конструкцію array(), представляючи собою більш короткий синтаксис визначення масивів. Після створення масивів доступ до його елементів може бути отриманий за їх ключами, які необхідно вказувати в квадратних дужках після імені масиву:
<?php
$m_1=array(
'country'=>'Ukraine',
'city'=>'Lutsk'
);
echo $m_1["country"]; //виведе текст Ukraine
// Створення масиву за допомогою квадратних дужок
$m_2=[
'country'=>'Ukraine',
'city'=>'Lutsk'
];
?>
Якщо при створенні масивів або додаванні нових елементів не вказувати ключі елементів – інтерпретатор PHP буде нумерувати елементи починаючи з нуля, а при додаванні нових елементів в масив використовувати попереднє найбільше значення числового ключа, але збільшене на одиницю. Також дозволяється вказувати ключі тільки для деяких елементів масиву, інші будуть пронумеровані автоматично:
$m_1=[2,4,76];
Для додавання елементів в масив або його зміни необхідно вказати новий або існуючий ключ в квадратних дужках після імені масиву. В результаті буде або додано новий елемент в масив, якщо елемента з таким ключем не існувало, або змінено значення існуючого елементу з таким ключем. Більш того, при додаванні нового елемента в масив можна взагалі не вказувати ключ, а просто додати порожні квадратні дужки:
$m_1[0]=24;
$m_1[]="one";
$m_1["city"]="Lutsk";
Для видалення пари 'key => value' або всього масиву слід використовувати функцію unset():
unset($m_1[3]);
unset($m_1);
Вирази та оператори
Вираз – це будь-яка одиниця вихідного коду, яка може бути обчислена інтерпретатором для отримання значення.
Оператор – це елемент програмного коду, який використовується для виконання певної дії у виразах:
$a=5+7*2;
До списку основних операторів входять:
- арифметичні: додавання (+), віднімання (–), множення (*), ділення (/), остача від ділення (%) та піднесення до степеню (**);
- оператори інкременту (++$a та $a++) та декременту (--$a та $a--);
- комбіновані оператори присвоєння: +=, -=, *=, /=, %=, **=;
- оператори рівності: рівно (==), строго рівно (===), нерівно (!= або <>), строго нерівно (!==), менше (<), більше (>), менше або рівно (<=), більше або рівно (>=);
Для керування виводом помилок в PHP є спеціальний оператор '@', що називається оператором придушення помилок. Він використовується перед виразами в тих випадках, коли необхідно запобігти виведенню повідомлень про помилки, що генеруються даним виразом. При цьому оператор не застосовується перед визначенням функції або класу, умовними конструкціями і т.д.:
<?php
$a;
echo $a; // Виведе попередження
echo @ $a; // Попередження не виводиться
@ echo $ a; // Перед функціями використовувати не можна
?>
Функції
Функція в PHP – це блок програмного коду на мові PHP, який визначається один раз і далі може бути використаний багаторазово.
У PHP є близько двох тисяч готових до використання вбудованих функцій.
Для оголошення функції необхідно використати ключове слово function, потім вказати ім'я функції, після чого в круглих дужках перерахувати прийняті аргументи, і за допомогою фігурних дужок сформувати тіло функції:
function my_func ($arg_1, $arg_2) {
$sum = $arg_1 + $arg_2;
return $sum; // значення, що повертається
}
echo my_func(1,2); //Виводиться сума двох чисел 1 + 2
Імена функцій в PHP є регістронезалежними (на відміну від імен змінних), але слідують тим же правилам, що й інші ідентифікатори, тобто коректне ім'я функції має починатися з літери або знаку підкреслення, за яким може слідувати будь-яку кількість літер, цифр або знаків підкреслення. Якщо оператор return відсутній, то функція не має значення, що повертається. Вона просто виконує зазначений шматок програмного коду.