Czyste funkcje w PHP

📅   27. 10. 2021
👤   Jan Barášek

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.

Jan Barášek     Więcej o autorze

Autor pracuje jako starszy programista i architekt oprogramowania w Pradze. Projektuje i zarządza dużymi aplikacjami internetowymi, które znasz i używasz. Od 2009 r. zdobył bogate doświadczenie, które przekazuje za pośrednictwem tej strony internetowej.

Chętnie pomogę:

Kontakt