Programmeren in PHP/Functies

Uit Wikibooks

Ga naar: navigatie, zoek
  1. Een korte inleiding tot PHP
  2. Eigen webserver met PHP installeren
  3. Syntax
  4. Variabelen
  5. Constanten
  6. Rekenen
  7. Functies
  8. Beslissingsstructuren
  9. Gebruikersinvoer
  10. I/O in PHP
  11. Klassen in PHP 4
  12. Klassen in PHP5
  13. MySql in PHP4
  14. Reguliere Expressies

WSBN


"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 in versie 4.3.4 meer dan 750 ingebakken functies heeft, is dit nooit genoeg om alles te programmeren wat er bestaat. Er is immers teveel maatwerk wat 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.

[bewerk] Argumenten

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!

[bewerk] Standaardargumenten

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!"
?>

[bewerk] Returnen

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";
}
?>

Probeer dat laatste maar eens te bereiken met echo's, dit gaat alleen met de output buffering (een functie die alles wat je op het scherm zet, in een variabele zet, zodat je het later weer kunt opvragen), van php. Dat zijn standaard PHP functies voor het opvangen van de output, ze zijn te herkennen aan de prefix ob_


De wijzigingen aan deze pagina van voor 15 april 2007 vallen alléén onder de GFDL, en niet onder de CC-BY-SA-licentie.
U kunt de inhoud van deze pagina dan ook alleen onder de voorwaarden van de GFDL (her)gebruiken.

Niet alle bijdragers van voor 15 april 2007 hebben hun werk vrijgegeven onder de dubbellicentie GFDL&CC-BY-SA. Kijk hier voor meer informatie.
Lijst van gebruikers die hun wijzigingen niet hebben vrijgegeven onder beide licenties

Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.
Aspecten/acties
Persoonlijke instellingen