Що таке function (Функції) в PHP?
Функції можна назвати невеликими підпрограмами, куди можна винести код, що повторюється, і звертатися до нього, коли це буде потрібно. Функції значно полегшують побудову програм, оскільки нам не потрібно копіювати однотипний код багато разів, а можна просто скористатися однією загальною функцією.
Багато хто плутає функції та методи і не розуміє відмінностей між ними. Насправді відмінностей немає, тому що методи, що функції є одним і тим же. Функції записані поза класами називають функціями, а функції записані всередині класів називаються методами.
Точно така сама ситуація зі змінним. У класах змінні називаються полями, а поза класами – змінними.
У PHP функції створюються за допомогою ключового слова function. Кожна функція може мати будь-які параметри або не мати їх зовсім. Функції здатні щось повертати під час виконання коду, якщо це потрібно.
Створення функції
На основі всіх даних наша функція буде виглядати так:
function test() {
echo "Виведення чогось у консоль";
}
Функція вище не приймає жодних параметрів і нічого не повертає. Вона просто пише слово у консоль. Давайте урізноманітнимо функцію і додамо параметр:
function test($word) {
echo $word;
}
Тепер функція приймає параметр, який буде відображено в консолі.
Якщо функція повинна щось повернути, прописуємо тип даних який буде повернуто. Для повернення даних використовуємо ключове слово return:
function test($some_number) {
$some_number *= 2;
return $some_number;
}
Область видимості
У PHP є кілька полів видимості: локальна та глобальна. Якщо записати глобальну змінну, то така змінна буде видно всюди і з нею можна працювати звідусіль у документі. Якщо записати локальну змінну, то така змінна буде видно лише в області, де вона записана.
Для створення глобальної змінної її необхідно прописати поза функцією, класом або об'єктом. Для створення локальних змінних вам достатньо помістити змінну функцію. Змінна функції буде видно лише всередині блоку з функцією і ніде більше.
Якщо з функції ми хочемо отримати доступ до змінної записаної поза функцією, то необхідно прописувати ключове слово global:
$some = "Тест";
function getValue() {
// echo $ some; // Нічого не виведе
echo global $some; // Виведе слово "Тест"
}
function getNewValue() {
// Створюємо статичну змінну
static $count = 0;
$count += 4;
echo $count;
}
getNewValue(); // Виведе 4
getNewValue(); // Виведе 8
getNewValue(); // Виведе 12
// і так далі