We gaan het niveau langzaam opschroeven. We gaan het nu hebben over functies. Functies zijn geschikt om een bepaalde logica samen te voegen en deze herbruikbaar te maken.

Wat is een functie?

Een functie is een stukje logica, dat kan worden uitgevoerd om een bepaalde actie uit te voeren. Deze actie kan bijvoorbeeld een bepaalde berekening of het formatteren van een opgegeven waarde zijn.

Het voordeel van functies is dat bepaalde logica is samengevoegd in een bepaald stukje code (algoritme). Stel daar een bepaalde wijziging nodig is, dan kan het in één actie worden aangepast.

In PHP zelf zitten heel veel ingebouwde functies. Zo zijn er bijvoorbeeld functies om strings naar hoofdletters om te zetten of functies om de lengte van een bepaalde string waarde te berekenen.

Hoe ziet een functie eruit?

We nemen de ‘leeftijdssituatie’ uit het deel over keuzes maken. We hebben dus de leeftijd en willen een functie waarmee we kunnen bepaalden of iemand alcohol mag kopen.

<?php
function mag_alcohol_kopen( $leeftijd ) {
    return $leeftijd <= 18;    
} 
?>

Door middel van function geven we aan dat het gaat om een functie. De naam van de functie geven we erna aan. In dit geval is het mag_alcohol_kopen. Tussen de ( en de ) geven we de parameters aan. In ons geval is dat $leeftijd. Meerdere parameters moeten gescheiden worden door een komma.

Tussen de { en de } komt de inhoud van de functie te staan. Door middel van return geven we aan dat we de waarde willen teruggeven. Als je echo gebruikt in plaats van return zal de waarde direct worden getoond.

De functie gebruiken

We hebben nu een functie mag_alcohol_kopenMaar daar kunnen we nog niets mee.We moeten deze gaan gebruiken (implementeren).

Stel dat we nu ergens de leeftijd hebben en we willen controleren of er op basis van de leeftijd alcohol gekocht mag worden dan kunnen we doen:

<?php
if ( mag_alcohol_kopen( $leeftijd ) ) {  
    echo "Je mag alcohol kopen!!!";
}
?>

Oh nee, de leeftijdsgrens wordt opgehoogd!

In het geval van mag_alcohol_kopen kan de leeftijdsgrens eenvoudig op slechts één locatie, namelijk de functie, gewijzigd worden.

Als we een dergelijke check op bijvoorbeeld 10 plekken afzonderlijk zonder functie wordt gedaan, dan is de kans dat het ergens vergeten wordt aanwezig.