Сторінки, статті та новини
Інструменти та плагіни
Заготовка заголовок


Опис як приклад заготовки. Приклад текстового контенту для подальшої кастомізації шаблону "Index36".

Редагувати шаблон можна на власний розсуд. Якщо у вас немає часу або знань – завжди можна замовити адаптацію шаблону, написавши мені через GitHub або особисті повідомлення на публічній сторінці маркетплейсу цифрових товарів.

Чистая функция (Pure Function)

0 Опублікована Опубліковано в: PHP шпаргалка, код, заметки
Чистая функция (Pure Function)

Чистая функция (Pure Function) – это функция, которая всегда возвращает один и тот же результат при одинаковых входных данных и не изменяет внешние переменные (отсутствуют побочные эффекты).


📌 Основные принципы чистых функций

  • Детерминированность – функция всегда возвращает одинаковый результат для одинаковых аргументов.
  • Отсутствие побочных эффектов – функция не изменяет глобальные переменные, файлы, базу данных и другие внешние ресурсы.
  • Легко тестировать – поскольку функция зависит только от своих аргументов, её легко проверить.

🔹 Примеры чистых и нечистых функций

Пример чистой функции

function sum($a, $b) {
    return $a + $b;
}

echo sum(5, 3); // 8
echo sum(5, 3); // 8 (всегда один и тот же результат)

📌 Эта функция чистая, так как:

  • Она не использует внешние переменные.
  • Она не изменяет состояние программы.
  • Она всегда возвращает один и тот же результат при одинаковых аргументах.

Пример нечистой функции

$total = 0;

function addToTotal($num) {
    global $total;
    $total += $num;
    return $total;
}

echo addToTotal(5); // 5
echo addToTotal(5); // 10 (результат изменился!)

📌 Эта функция НЕ чистая, потому что:

  • Она зависит от внешней переменной $total.
  • При каждом вызове с одинаковым аргументом она возвращает разный результат.

🔹 Почему использовать чистые функции?

Проще тестировать – чистые функции не зависят от внешних данных.

Проще отлаживать – всегда предсказуемый результат.

Проще писать функциональный код – можно использовать array_map(), array_filter(), array_reduce().


🔹 Применение чистых функций в PHP

Используем array_map() с чистой функцией:

$numbers = [1, 2, 3, 4, 5];

function power ($n) {
	return $n * $n;
}

$squared = array_map('power', $numbers);

print_r($squared);

Вывод:

Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )

 Функция power чистая, так как не меняет внешние переменные.


 Итог

Чистая функция – всегда предсказуема и не влияет на внешний мир.

Нечистая функция – может изменять глобальные переменные, файлы, БД.

Чистые функции делают код более читаемым и надежным.

Коментарі відсутні
Додавання коментарів доступне лише зареєстрованим користувачам
Обліковий запис