Czyste funkcje w PHP
Przykład czystej funkcji:
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:
// 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ą
// 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.