Кожен PHP-скрипт складається з команд і функцій, разом вони називаються **конструкціями**. Коли скрипт обробляється, ці мовні вирази відстежуються (цей процес називається **токенізація**) і на основі *ключових слів* інтерпретатор вирішує, як повинен поводитися процесор.
Наприклад, витягнення рядка в HTML-код:
echo 'Echo - мовна команда для перерахування вмісту';
З командами важливо відзначити, що вони не повертають ніякого значення і тому не можуть бути використані в якості змінної. Команди також можна ідентифікувати за тим, що вони не містять круглих дужок.
Приклади:
echo 'Здрастуй, світ!';echo ('Здрастуй, світ!');
Якщо я укладу зміст команди в круглі дужки, поведінка не зміниться і вона буде сприйматися як вираз. Це так само, як якщо б ми писали математику:
5 + 3// або:(5 + 3)
Формально різниця є, але на практиці нічого не змінюється.
Якби були тільки команди, то було б досить нудно. Функції - це сукупність декількох команд.
Ми часто хочемо виконати один і той же код в декількох місцях багаторазово. В такому випадку постійне копіювання було б занадто великою роботою і могло б призвести до помилок, тому ми загортаємо такий код у функцію, яку називаємо, а потім просто викликаємо її по імені.
Коли ми викликаємо функцію, то передаємо їй параметри у вигляді змінних, вона виконує код і повертає результат, який ми можемо використовувати далі.
$text = 'PHP - моя улюблена мова!';echo 'Текст "' . $text . '" - це довгий' . strlen($text) . 'персонажі.';
PHP має багато функцій безпосередньо визначених (див. документацію для повного списку), але часто буває зручно визначити свої власні:
function mojeFunkce(int $x, int $y): int{$z = $x + $y; // додає вхідні параметри та зберігає їх у зміннійreturn $z; // повертає змінну $z}echo mojeFunkce(5, 3); // виводить число 8, тому що числа оброблялись функцією
Локальні змінні використовуються в межах функцій, що означає, що вони можуть використовуватися тільки в межах функції і не можуть маніпулюватися (або визначатися) за межами функції. Свої початкові значення вони отримують з параметрів функції безпосередньо у визначенні функції.
Приклад:
$z = 5;function prvniFunkce(int $x, int $y): int{return $x - $y; // це поверне різницю чисел}function druhaFunkce(): mixed{return $z; // повертає помилку, тому що змінна $z// не визначено всередині функції}
Іноді корисно встановити деякі з параметрів як необов'язкові, це робиться шляхом визначення альтернативного (за замовчуванням) значення:
echo prictiCislo(5); // повертає 6echo prictiCislo(5, 7); // повертає 12function prictiCislo(int $x, int $y = 1): int{return $x + $y;}
Функція prictiCislo()
додає значення зі змінної $y
до змінної $x
. Якщо змінна $y
не визначена (не вказана як параметр при виклику функції), то буде використано її значення за замовчуванням, записане у визначенні функції. Тому другий параметр функції (змінна $y
) є необов'язковим.
Кожна функція може мати тільки один вихід (одне повернення), якщо у функції вказати декілька виходів, то повертається той, що вказаний першим. Якщо потрібно повернути декілька значень, необхідно використовувати масив.
У PHP (на відміну від інших мов) можна взагалі не вказувати повернення, тоді функція не повертає нічого (void) на будь-якому вході. Такі функції здебільшого використовуються для зберігання даних або виведення у вихідний код. Загалом, однак, рекомендується завжди повертати якусь цінність, принаймні підтвердження того, що все пройшло добре.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | uk