Pages, Articles & News
Tools & Plugins
Example / Placeholder Title


Description as an example placeholder. Sample text content for further customization of the "Index36" template.

You are free to edit and customize the template however you like. If you don’t have time or enough knowledge — you can always order template adaptation by contacting me via GitHub or private messages on the digital goods marketplace.

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

Чистая функция (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 чистая, так как не меняет внешние переменные.


 Итог

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

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

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

No comments yet
Only registered users can post new comments
Account