Les 6: func0es In deze les - Cursusmateriaal opleiding web developer

Opleiding Web Developer 2014-2015
05/11/14 Les 6: func0es Dinsdag 28/10/2014 1 In deze les •  Func0es –  Func0es aanroepen •  Hoe? •  Mogelijke resultaten –  Zelf func0es definiëren •  Hoe? •  Argumenten •  Variabele scope –  Varia & weetjes •  Oefeningen –  Func0es –  Afronden oefeningen les 5 (meertalig en DPI) 1 © Vincent De Munck
Opleiding Web Developer 2014-2015
05/11/14 Func0es aanroepen •  Func0e = bundel(tje) code à eenvoudig om meerdere keren uit te voeren •  Voorbeeld gebruik van een ingebouwde func0e: $waarde= pow(5,3); echo $waarde; •  Hoe roep je een func0e aan? –  Naam van de func0e: pow –  Gevolgd door haakjes () –  Argumenten tussen de haakjes, gescheiden door komma's: 5,3 dit is de info die je meegee\ aan de func0e Func0e: resultaat •  Wat een func0e doet hangt af van: –  De code in de func0e –  De argumenten –  Context (globale variabelen) •  De func0e kan als resultaat een variabele teruggeven (de zgn. "return value") •  De func0e kan zelf ook andere effecten hebben, bijvoorbeeld via echo statements, of door aanpassingen te doen in de database –  Voorbeeld: phpinfo() à gee\ een grote paarse tabel! 2 © Vincent De Munck
Opleiding Web Developer 2014-2015
05/11/14 Zelf func0es definiëren •  Voorbeeld van een zelfgedefinieerde func0e: func0on maakFooter() { echo "<hr>&copy; 2013 -­‐ Al het bovenstaande is nonsens."; } •  Deze func0e kan dan zo aangeroepen worden: maakFooter(); •  Als we willen dat de func0e een waarde teruggee\, roepen we eenmalig return aan in de func0e-­‐
defini0e (hee\ dezelfde syntaxis als echo). –  Bijvoorbeeld bij pow() is de return waarde het resultaat van de berekening. –  Na return stopt het uitvoeren van de func0e (!) –  Als we meerdere waarden willen returnen à array! Argumenten (1) •  De volgorde van de argumenten is essen0eel! •  Er kan een default waarde (standaardwaarde) ingesteld worden voor de argumenten. Bvb: func0on hallo($naam="Joske") { echo "Hallo $naam!"; } •  Als een argument een default waarde hee\, wordt het op0oneel (!) 3 © Vincent De Munck
Opleiding Web Developer 2014-2015
05/11/14 Argumenten (2) Waardes doorgeven •  Dit is de meest courante manier •  Een voorbeeld: func0on BTW($totaal) { return $totaal * 0.21; } $totaal_incl = $totaal_excl + BTW($totaal_excl); •  We geven de waarde van $totaal_excl mee als argument Referen0e doorgeven •  Referen0e naar een variabele als argument. •  Wijzigingen aan deze variabele in de func0e hebben dus ook gevolgen erbuiten! •  Een voorbeeld: func0on BTW(&$totaal) { $totaal *= 1.21; } BTW($totaal); Variable scope •  Variabelen in de func0e zijn totaal gescheiden van die erbuiten, behalve –  Variabelen die per reference doorgegeven zijn –  Global variabelen: we geven in de func0e aan dat we de globale variabele willen gebruiken, ipv een die specifiek is voor de func0e à zie voorbeeld op mgml.be 4 © Vincent De Munck
Opleiding Web Developer 2014-2015
05/11/14 Varia & weetjes •  Een func0e kan zichzelf aanroepen. Let echter op voor een oneindige lus! •  Func0es best definiëren alvorens ze aan te roepen •  Bij complexere scripts worden de func0es vaak in een apart bestand gedefinieerd, en dat wordt dan met include() of require() ingevoegd AAN DE SLAG! 5 © Vincent De Munck