Уроки PHP – Функції
Керуючі конструкції, такі як умовні оператори і цикли, дуже корисні. Вони роблять код менш повторюваним і більш зрозумілим. Наступний щабель тут – це функції, які з використанням керуючих конструкцій, дозволяють писати більш складні сценарії та програми. У сьогоднішній статті ми поговоримо про функції в PHP: їх визначення, виклик, повернення значень, а також невеликий практичний приклад.
Визначення функції в PHP
Отже, що таке функція? Простіше кажучи, функція – це блок коду, який написавши один раз, потім можна багаторазово використовувати в своєму проекті. Замість того, щоб постійно копіювати один і той же код, вам досить буде тільки використовувати ім’я функції. Все, що вам потрібно зробити, це написати код один раз у визначенні функції, а потім викликати функцію всюди, де вам це потрібно.
У PHP є маса вбудованих (готових) функцій, але ви можете створювати свої власні функції. Головне – знати, як це правильно робити, і в цій статті ми розглянемо найважливіші основи. Іноді, правда, не варто винаходити велосипед, а достатнім буде використовувати вже готові функції в PHP.
Оголошення функції в PHP
Оголошення функції – це іншими словами її створення. Коли ви хочете створити нову функцію, вам потрібно використовувати ключове слово function
. Воно скаже PHP, що ви хочете створити функцію. Після цього слова йде назва (ім’я) функції, після якої в фігурних дужках пишеться сам код функції.
Вимоги до імені функції
При оголошенні функції вам потрібно використовувати правильне ім’я для неї. Це схоже на визначення нової змінної. Допустиме ім’я функції може починатися з літери або нижнього підкреслення. Однак назва функції не може починатися з цифри (хоча вони можуть з’являтися в будь-якому іншому місці імені функції) або спеціального символу. Імена функцій не чутливі до регістру.
Ім’я повинно однозначно ідентифікувати функцію, тобто, мати описову назву, а не бути набором символів. Не можна використовувати в якості назви функції одне з існуючих імен функцій PHP.
Параметри функції
Після імені функції йдуть дужки ()
, в яких вказуються аргументи. Це та інформація, з якою надалі буде працювати функція.
В якості аргументів (або параметрів) функції можуть виступати певні значення, змінні, інші функції і т.д. Ваша функція може мати стільки параметрів, скільки ви хочете або скільки потрібно.
Важливо знати про параметри функції:
- Параметри повинні відповідати правилам іменування змінних. Іншими словами, використовуйте знак долара
$
, якщо це не функція, і тільки дозволені символи. - Якщо в списку параметрів є більше однієї змінної, ви повинні розділити їх комами.
- Ви можете використовувати ці аргументи в будь-якому місці коду функції, але вони застосовуються тільки всередині блоку коду функції. Ви не можете отримати доступ до переданих змінним параметрів в іншому місці програмного коду.
Код функції
Після імені функції і круглих дужок з параметрами (або без них) слідують фігурні дужки {}
. А всередині цих дужок знаходиться безпосередньо сам код функції. Відкриваюча фігурна дужка {
вказує, що це початок коду функції. Закриваюча фігурна дужка }
вказує на кінець коду функції. Будь-які змінні, які ви визначаєте всередині коду функції, застосовуються тільки до коду функції. Ви не можете використовувати змінні функції в коді PHP поза визначенням функції.
Базовий формат для визначення функції виглядає наступним чином:
function ім’яФункції(параметри функції) { код функції return значення; }
Приклад невеликої функції, яка повертає простий текст:
<?php function helloWorld() { echo "Привіт, світ! Це моя перша PHP функція!"; } ?>
Щоб викликати цю функцію, використовується наступна конструкція:
<?php helloWorld(); // результат: Привіт, світ! Це моя перша PHP функція! ?>
Це в основному все, що вам потрібно знати, щоб оголосити нову функцію. Однак, коли ви оголошуєте функцію, вона не запускається автоматично при завантаженні сторінки.
Виконання PHP функції
Оскільки функція сама не запускається, якщо ви хочете виконати функцію, вам потрібно викликати її. Виконання функції також називається викликом функції. Щоб викликати функцію, потрібно використовувати її ім’я, за яким слідують дужки і аргументи (якщо функція приймає їх).
Вище ми розглянули просту функцію без параметрів, а нижче представлена більш складна функція – з використанням аргументів.
<?php function skazhiPrivit($imya, $prizvische, $vik) { echo "Привіт! Мене звуть $imya $prizvische і мені $vik років"; } ?>
Тепер, щоб викликати подібну функцію, використовується наступна конструкція:
<?php skazhiPrivit("Петро", "Петренко", 25); ?>
В якості аргументів ми передаємо потрібні значення змінним. В результаті, вищевказана функція поверне наступне:
Привіт! Мене звуть Петро Петренко і мені 25 років
Повернення значення функцією
Нагадаємо ще раз базовий патерн визначення функції:
function ім’яФункції(параметри функції) { код функції return значення; }
Тут ми хочемо зупинитися на операторі return
(повернення). Якщо функція повертає якесь значення, в коді функції обов’язково повинен міститись оператор return
. Він дозволяє передати одне значення змінної назад викликаючому кодові. Повернення призводить до завершення виконання функції і передачі управління назад тому рядку коду, в якій дана функція була викликана. Значення, що повертаються, можуть бути будь-якого типу, в тому числі це можуть бути масиви і об’єкти.
Практичний приклад використання функції в PHP
В даному прикладі ми за допомогою функції визначатимемо IP адресу будь-якого сайту.
<?php function getSiteIp() { $domain = "google.com.ua"; $ip = gethostbyname($domain); return $ip; } echo "IP адреса сайту: " . getSiteIp(); ?>
В даному прикладі ми строго прописали в коді функції значення для домену. Щоб зробити цю функцію більш ефективною, ми могли б передавати домен в якості параметра. Приклад такої реалізації:
<?php function getSiteIp($domain) { $ip = gethostbyname($domain); return $ip; } echo "IP адреса сайту: " . getSiteIp('google.com.ua'); ?>
Ось і все на сьогодні! Про функції в PHP можна писати дуже довго, але сьогодні ми постаралися розглянути тільки найважливіші основи. Сподіваємося, що цих основ вам буде досить, щоб ви почали працювати з PHP функціями. Якщо у вас виникнуть питання або пропозиції, напишіть їх у формі коментарів нижче.