Чисті функції в PHP

27. 10. 2021

У функціональному програмуванні існує поняття чистої функції, під якою розуміється функція, яка завжди повертає один і той же вихід на один і той же вхід (тобто є детермінованою), і при цьому не страждає від будь-яких побічних ефектів (тобто не впливає на своє оточення).

Як виглядає чиста функція

Приклад чистої функції:

php
// Це чиста функція
function add(int $a, int $b): int
{
return $a + $b;
}

Це чиста функція, оскільки вихід завжди однаковий на основі вхідних аргументів.

Що не є чистою функцією

php
// Це нечиста функція
function add(int $a, int $b): int
{
echo 'Додавання...';
file_put_contents('файл.txt', 'Цінність:' . $a);
return $a + $b;
}

Цей тип функції не є чистим, оскільки функція змінює файлову систему. Інший вид нечистої функції - це коли вона взаємодіє з базою даних, виводить на екран і так далі.

Jan Barášek
Jan BarášekVí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:

Newsletter

Nejlepsi tipy a triky o PHP do Vaseho e-mailu. Clanky a novinky nejen ze sveta PHP a programovani.