Programmeren in PHP/Functies
"Programmeurs moeten lui zijn" is een vaak gehoord gezegde en dat klopt ook, omdat ze anders dubbele code produceren, wat nergens goed voor is en wat niet onderhoudbaar is. In PHP heb je functies die er voor zorgen dat je niet meerdere keren dezelfde code moet typen. Hoewel PHP ondertussen meer dan 1000 ingebakken functies heeft, is dit nooit genoeg om alles te programmeren wat er bestaat. Er is immers te veel maatwerk dat gedaan moet worden per project.
PHP-code:
<?php
function echobar ()
{
echo "Bar";
}
echobar();
?>
Dit is een simpele functie, zonder argumenten (volgende paragraaf), een functie is niet hoofdletter gevoelig, in tegenstelling tot variabelen.
Argumenten
[bewerken]Soms is het nodig dat een functie verschillende dingen moet doen afhankelijk van z'n invoer. Die invoer worden ook wel argumenten genoemd, en worden als volgt gedefinieerd.
PHP-code:
<?php
function echodit($echootje)
{
echo $echootje;
if($echootje == "Echodit")
{
echo "<br />Kon je nou echt niets anders bedenken?<br />";
}
else
{
echo "<br />Je hebt iets anders bedacht!<br />";
}
}
echodit("Echodit");
echodit("Iets willekeurigs");
?>
Dit zal dus geven:
Echodit Kon je nou echt niets anders bedenken? Iets willekeurigs Je hebt iets anders bedacht!
Standaardargumenten
[bewerken]Je kunt aan een bepaald argument ook een standaard waarde toekennen. Als het argument dan niet wordt ingevuld, wordt de standaard waarde voor je ingevuld:
PHP-code:
<?php
function foo($naam="Jantje")
{
echo "Hoi " . $naam . "! ";
}
foo(); // Print "Hoi Jantje!"
foo("Piet"); // Print "Hoi Piet!"
?>
Returnen
[bewerken]Als je invoer hebt moet je ook iets hebben om uit te voeren (terug te geven). Nou kan je iedere keer tekst gaan echo'en, maar dit is een veel gevallen ongewenst omdat je meestal weer handelingen uit moet voeren aan de hand van die uitvoer. Met echo's is dit veel lastiger dan met returnwaarden.
PHP-code:
<?php
function bar ($Foo)
{
if ($Foo == "Bar")
{
return "Jeej";
}
else
{
return "Boe";
}
}
echo bar ("Bar");
echo bar ("Foo");
if (bar ("Bar") == "Jeej")
{
echo "Het argument voor de functie bar, is Bar";
}
?>