Czyste funkcje w PHP

W programowaniu funkcyjnym istnieje pojęcie czystej funkcji, która odnosi się do funkcji, która zawsze zwraca to samo wyjście na to samo wejście (tzn. jest deterministyczna), a jednocześnie nie ma żadnych skutków ubocznych (tzn. nie wpływa na swoje otoczenie).

Jak wygląda czysta funkcja

Przykład czystej funkcji:

php
// To jest czysta funkcja
function add(int $a, int $b): int
{
return $a + $b;
}

Jest to czysta funkcja, ponieważ wynik jej działania jest zawsze taki sam na podstawie argumentów wejściowych.

Co nie jest czystą funkcją

php
// To jest nieczysta funkcja
function add(int $a, int $b): int
{
echo 'Dodając...';
file_put_contents('plik.txt', 'Wartość:' . $a);
return $a + $b;
}

Tego typu funkcje nie są czyste, ponieważ zmieniają one system plików. Innym rodzajem nieczystej funkcji jest interakcja z bazą danych, drukowanie na ekranie itd.

Newsletter

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