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 funkcjafunction 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 funkcjafunction 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.