Čisté funkcie v PHP

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

Vo funkcionálnom programovaní existuje pojem čistá funkcia, ktorý označuje funkciu, ktorá na rovnaký vstup vracia vždy rovnaký výstup (t. j. je deterministická) a zároveň nemá žiadne vedľajšie účinky (t. j. neovplyvňuje svoje okolie).

Ako vyzerá čistá funkcia

Príklad čistej funkcie:

// Toto je čistá funkcia
function add(int $a, int $b): int
{
	return $a + $b;
}

Ide o čistú funkciu, pretože výstup je vždy rovnaký na základe vstupných argumentov.

Čo nie je čistá funkcia

// Toto je nečistá funkcia
function add(int $a, int $b): int
{
	echo "Pridanie...;
	file_put_contents('file.txt', 'hodnota: ' . $a);
	return $a + $b;
}

Tento typ funkcie nie je čistý, pretože funkcia mení systém súborov. Ďalším typom nečistej funkcie je interakcia s databázou, výpis na obrazovku a podobne.

Jan Barášek     Viac o autorovi

Autor pracuje ako senior vývojár a softvérový architekt v Prahe. Navrhuje a spravuje veľké webové aplikácie, ktoré poznáte a používate. Od roku 2009 získal bohaté skúsenosti, ktoré odovzdáva prostredníctvom tejto webovej stránky.

Rád vám pomôžem:

Kontakt