Functies Deze tutorial is verouderd.
1. Waarom zou je
functies gebruiken?
2. Soorten functies
3. Werken met functies
4. Global
1. Waarom zou je functies gebruiken?
Functies kunnen heel handig zijn, zeker bij een grote website om de
website ordelijk (netjes) te houden en om ervoor te zorgen dat je handelingen
die je vaker moet verrichten (bv een bepaalde query) maar één
keer hoef te schrijven, en deze overal kunt benaderen.
top
2. Soorten functies
Je hebt 3 verschillende soorten functies:
- Ingebouwde functies (deze functies zijn al geschreven in PHP zoals:
IsSet(), echo(), mail()
- Zelf gemaakt functies (daar gaat deze tutorial over)
- Externe Bibliotheken (deze functies zijn functies die gemaakt zijn door
een bepaalde programma. Voorbeelden zijn: mysql_connect(), mysql_query)
top
3. Werken met functies
Er zijn een paar dingen waar je goed op moet letten als je met functies
gaat werken.
- Een functie moet altijd een naam hebben
- Een functie is hoofdletter-gevoelig. Dit betekend dus dat " Functie"
en " functie"
twee verschillende functies zijn.
- Een functie-naam moet altijd met een letter beginnen.
In het volgende voorbeeld geef ik een functie aan die geschreven is om
twee waardes bij elkaar op te tellen.
function optellen($getal1,$getal2)
{
$som = $getal1 + $getal2;
return $som;
}
echo optellen(1,3);
?> |
In dit voorbeeld kun je duidelijk zien hoe een functie werkt. In de eerste
regel geef je aan dat je een functie begint met de tekst ";function".
Daarachter zet je de naam van een functie, gevolgd door de waardes die
je wilt gebruiken in je tutorial. Deze waardes zijn variabele en de namen
hiervan kun je zelf geven. Ik koos in dit voorbeeld voor $getal1 en $getal
2 omdat het dan duidelijk is dat het om getallen gaat. Verder worden de
verschillende waardes gescheiden van elkaar door een komma.
Dan binnen de functie wordt de berekening gedaan. Daar is niet zoveel
bijzonders aan maar de regel daaronder is wel belangrijk. Als je de berekening
hebt gedaan dan is het natuurlijk logisch dat je de uitkomst wil laten
zien. Daarvoor is de functie return. Die stuurt de een bepaalde waarde
terug, in dit geval stuurt hij de waarde van " som"
terug.
Als we nog een stukje verder naar onderen kijken zie je hoe je de functie
moet weergeven. Eerst de echo (mag ook print() zijn) zodat je de waarde
op je beeldscherm krijgt. Daarna de naam van de functie met daarin de
2 waardes aangegeven.
Stel nu dat je bij de laatste regel dit had neergezet:
Echo optellen("1"); dan komt er een foutmelding op het scherm.
Deze foutmelding vertelt je dat je een waarde te weinig hebt opgegeven.
Dit kan je op twee manieren oplossen.
1. je zet de waarde erbij in de echo
2. je geef in de functie aan dat als er bij getal2 geen waarde is opgegeven,
dat deze een standaard waarde krijgt.
Deze laatste zal ik even uitleggen.
function optellen($getal1,$getal2 = 1)
{
$som = $getal1 + $getal2;
return $som;
}
echo optellen(1);
echo “<br />”;
echo optellen(1,5);
?>
|
Je krijgt nu 2 getallen op het scherm. De eerste getal is 2. Dit komt
dus omdat $getal2 de standaard waarde 1 krijgt (dus als er geen andere
waarde is meegegeven).
Het tweede getal geeft 6 aan. Je geeft hier gewoon 2 waardes mee, dus
er wordt niets gedaan met de “standaard waarde”.
top
Global
Het kan zijn dat je een variabele hebt die je graag in een functie wilt
gebruiken. Als je deze gewoon toevoegt in de functie dan krijg je een
foutmelding. Hier komt Global om de hoek kijken. Ik zal twee voorbeelden
geven, eerst een fout voorbeeld die een error zal krijgen, en daarna een
goed voorbeeld.
$naam = "WiJnAnD";
function naam()
{
$naam = strtolower($naam);
$naam = ucfirst($naam);
return $naam;
}
echo naam();
?> |
In deze functie willen wij dat de naam "WiJnAnD" vervangen
woord voor "Wijnand". Er gaat iets fout, want WiJnAnD wordt niet vervangen. In het volgende voorbeeld staat hoe je dit kunt afvangen.
$naam = "WiJnAnD";
function naam()
{
global $naam;
$naam = strtolower($naam);
$naam = ucfirst($naam);
return $naam;
}
echo naam();
?> |
Hier staat global $naam bij, en nu werkt hij wel. Met Global zeg je eigenlijk
dat er een variabele wordt gebruikt van buiten de functie.
The End
Mvg,
Wijnand
Dennis
top
|