Tutorials

Functies

Een overzicht van wat is een functie en wat kan je er mee!

Pagina 1

Nut en verschil van Functies

Nut van Functies
Een functies moet je zien als een klein stukje code wat aangeroepen kan worden op het moment dat jij dat nodig vind. Je maakt vaak een functie als je bepaalde handelingen regelmatig moet uitvoeren. Dit voorkomt dat je in meerdere bestanden elke keer weer dezelfde code heb staan. Denk hierbij voorbeeld aan een optelling die je regelmatig maakt of een select uitvoeren op een database.


Verschil in functies
Je heb functies met en zonder argumenten. Wat houdt dit nou precies in? Een functie zonder argument zal eigenlijk altijd het zelfde resultaat geven aangezien er geen variabelen(argumenten) mee worden gestuurd. Een voorbeeld is bijvoorbeeld een bericht versturen naar de gebruiker dat het verwerken van de gegevens goed is verlopen.

Bestandsnaam: messageToUser.php
inhoud:

<?

function messageToUser()
{
echo "Het bericht is goed verzonden";
}
?>


<html>
<body>
<?
messageToUser();
?>
</body>
</html>



Zoals je kan zien op regel 2 begint een functie in php altijd met het woord "function" gevolgd door een naam met haakjes open en dicht. Daarna alles wat tussen de { .. } staat is wat de functie uitvoerd. Zonder regel 10 zal er niks gebeuren. Regel 10 roept de functie aan en is dus heel belangrijk want zonder aanroep heeft de functie geen nut.

Nu gaan we een functie bekijken met argumenten. Stel je wilt niet elke keer het zelfde bericht versturen maar afhankelijk van de opdracht die de gebruiker heeft uitgevoerd.

Bestandsnaam: differentMessageToUser.php
inhoud:

<?
function differentMessageToUser($messageReceived)
{
echo $messageReceived;
}
?>


<html>
<body>
<?
$message = "Bedankt voor het verzenden van een emailtje!";
differentMessageToUser($message);
?>
</body>
</html>



Zoals je kunt zien kan je deze functie gebruiken voor welk bericht je maar wilt. Het enige wat je dan moet wijzigen is de variabelen $message. Een andere aanroep wat precies het zelfde resultaat geeft is:
differentMessageToUser("Bedankt voor het verzenden van een emailtje!");
Zoals je kan zien wordt de functie aangeroepen met het argument $message (regel 10). In de functie zelf heet het argument $messageReceived (regel 2). Ik heb dit express gedaan om te laten zien dat de naam niet het zelfde hoeft te zijn van het argument. Je kan uiteraard wel dezelfde naamgeving aanhouden voor het overzicht, maar het is niet noodzakelijk.

We gaan nu als volgende mogelijkheid een functie maken met 2 argumenten. Het eerste argument is een String(Stuk tekst) en het 2de argument is een Integer(getal).

Bestandsnaam: persoonsGegevens.php
inhoud:

<?
function persoonsGegevens($naam, $leeftijd)
{
echo "Hallo ". $naam ."<br>";
echo "Je bent ". $leeftijd ." jaar";
}
?>


<html>
<body>
<?
$naam = "Jan Janssen";
$leeftijd = 18;
persoonsGegevens($naam, $leeftijd);
?>
</body>
</html>
Pagina 2

Functies ordenen

Functies ordenen
Om er voor te zorgen dat je niet constant functies van het ene bestand naar het andere bestand hoeft te kopieren gaan we een bestand maken waar alle functies in staan en die gaan we includen (importeren) in ons bestand waar we de functies willen gebruiken.

Bestandsnaam: functies.inc
inhoud:

<?

function geborenIn($dag, $maand, $jaar)
{
$geplakteDatum = $dag ."-". $maand ."-". $jaar;
return $geplakteDatum;
}


function volledigeNaam($voorNaam, $achterNaam)
{
return $voorNaam ." ". $achterNaam;
}


function persoonsGegevens($naam, $geboorteDatum)
{
echo "Hallo ". $naam .".<br>";
echo "U bent geboren op: ". $geboorteDatum .".";
}
?>
Bestandsnaam: bestandMetInclude.php
inhoud:

<html>
<body>


<?
include("functies.inc");
$voorNaam = "Jan";
$achterNaam = "Janssen";


$dag = 26;
$maand = 8;
$jaar = 1977;


$naam = plakNaam($voorNaam,$achterNaam);
$geboorteDatum = plakGeboorteDatum($dag, $maand, $jaar);
weergevenPersoonsGegevens($naam, $geboorteDatum);
?>


</body>
</html>
Zoals je kan zien heb ik alle benodigde functies in een aparte bestand gezet functies.inc. In het andere bestand (bestandMetInclude.php) staat op regel 4 een nieuwe term namelijk include("functies.inc"); Het enige wat dat doet is het functies.inc bestand importeren naar het bestand bestandMetInclude.php. Zodat dus alle functies zijn aan te roepen.

In functies.inc staat een nieuwe term namelijk "return" (regel 5 en 9). Alles wat achter return staat geeft hij terug. Dit houdt wel in dat je de return waarde op moet vangen in een variabelen. Dit doe je zoals het staat in bestandMetInclude.php op regel 10 en 11.


Functie uitleg
Zoals in de eerste php les is uitgelegd kan je commentaar plaatsen tussen je code door. Dit doe je om eventueel wat duidelijkheid te scheppen in je programmeercode. Bij functies is het uitermate handig om daar een uitgebreide beschrijving neer te zetten. Dit om een aantal redenen.
1) Na 5 jaar weet je echt niet meer precies wat een functie doet!
2) Als iemand anders je wilt helpen kan hij rustig lezen wat die functie precies voor nut heeft.
3) GEWOON DOEN, je zal zien dat het uiteindelijk zijn tijd terug verdiend door wat extra tijd te besteden aan het toevoegen van commentaar. Bestandsnaam: functies.inc
inhoud:

<?

function geborenIn($dag, $maand, $jaar)
/*
Functie: Het aan elkaar plakken van een dag, maand en jaar met daar tussen elke keer een liggend streepje.
Argumenten: $dag = integer (1 t/m 31), $maand integer (1 t/m 12), $jaar integer (1900 t/m 2010)
Return waarde: $geplakteDatum
Gemaakt door: Bjorn van der Neut
Datum: 20-10-2002
*/
{
$geplakteDatum = $dag ."-". $maand ."-". $jaar;
return $geplakteDatum;
}
?>
Pagina 3

Conclusie

Eindconclusie
Je heb nu door wat functies zijn en hoe je ze kan gebruiken. Tip: Maak altijd zoveel mogelijk functies, dit scheelt veel programmeer werk voor in de toekomst. Zet ook altijd je functies in een extern bestand wat je met een include functie kan importeren zodat je niet als nog constant functies aan het copieren en plakken bent. En zet er goed commentaar bij zodat je later precies kan uitlezen wat de functie doet en hoe hij aangeroepen moet worden.

Reacties

0
Nog geen reacties.