Rene funktioner i PHP

27. 10. 2021

Inden for funktionel programmering findes der et begreb ren funktion, som henviser til en funktion, der altid returnerer det samme output til det samme input (dvs. er deterministisk), og som samtidig ikke lider under nogen sideeffekter (dvs. ikke påvirker omgivelserne).

Sådan ser en ren funktion ud

Eksempel på en ren funktion:

php
// Dette er en ren funktion
function add(int $a, int $b): int
{
return $a + $b;
}

Dette er en ren funktion, fordi output altid er det samme baseret på input-argumenterne.

Hvad er ikke en ren funktion

php
// Dette er en urene funktion
function add(int $a, int $b): int
{
echo 'Tilføjelse af...';
file_put_contents('file.txt', 'Værdi:' . $a);
return $a + $b;
}

Denne type funktion er ikke ren, fordi funktionen ændrer filsystemet. En anden type urene funktioner er, når de interagerer med databasen, udskriver på skærmen osv.

Jan Barášek
Jan BarášekVíce o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Newsletter

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