Jazyk PHP, tak ako aj iné programovacie jazyky, umožňuje vytvárať funkcie viacerými spôsobmi. Na rozdiel od iných programovacích jazykov ponúka aj viac možností pre prácu s funkciami.Funkcia je blok príkazov, ktoré autor má v úmysle použiť v programe viac krát. To neplatí, ak autor chce mať minimálny počet globálnych premenných. Pre tento účel používa techniky OOP (Objektovo Orientovaného Programovania), kde funkcia v podobe metódy, môže byť aj na jednorázové použitie. Funkcia sa skladá z hlavičky a tela. Hlavička funkcie sa skladá z kľúčového slova function, názvu funkcie (neobsahuje znak $) a oblých zátvoriek (), ktoré môžu obsahovať parametre. Parametre sú lokálnymi premennými funkcie. Telo funkcie je tvorené zloženými zátvorkami {}, ktoré definujú programový blok, a príkazmi tvoriacimi telo funkcie. Funkcia sa spúšťa jej volaním. Pre spustenie funkcie je potrebné zadať názov funkcie opäť bez znaku $ a oblé zátvorky (). V nich môžu byť umiestnené argumenty, ktoré budú predané funkcii na spracovanie. Počet argumentov musí byť rovnaký, prípadne väčší ako počet parametrov, inak vznikne chyba. To neplatí, ak hlavička funkcie obsahuje nepovinné parametre. Príklad: Šablóna funkcie. | function functionName([parameters]) { | | } |
|
Názov funkcie si volí autor sám. Musí sa skladať len zo znakov zodpovedajúcim tvorbe identifikátorov v jazyku PHP. Funkcia môže, ale aj nemusí mať parametre. Parametre slúžia na predanie externých hodnôt príkazom tela funkcie. Parametre sa zapisujú ako premenné a sú od seba oddelené čiarkou. Funkcia môže mať ľubovoľný počet parametrov. Hodnoty parametrov a premenných v tele funkcie, ak to autor zápisom neupraví, sú platné iba v rámci funkcie a po jej skončení ich platnosť zaníká.Príklad: Funkcia s parametrami a jej volanie s argumentmi. | function displayMessage($name, $age) { | echo $name . " má " . $age . " rokov."; | } | displayMessage("Matej", "33"); |
|
V príklade je uvedená funkcia s názvom displayMessage. Tvorba názvov funkcií zodpovedá definovaným pravidlám (naming convention), ktoré si autor buď vytvorí sám alebo použije niektoré z odporúčaní pre jazyk PHP. Tvorbe názvosloví (naming convention) a spôsobom ako písať programový kód (coding style) sa budem venovať v iných článkoch. V hlavičke funkcie sú uvedené dva parametre $name a $age. Tým sú predané hodnoty Matej a 33. Tieto parametre sa zároveň stávajú aj premennými danej funkcie. Funkcia zobrazí vetu zloženú z predaných argumentov. Funkciu spúšťa (volá) zápis displayMessage("Matej", "33");, ktorý je na štvrtom riadku. Volanie funkcie obsahuje dva argumenty Matej a 33.Ako bolo uvedené, hlavička funkcie môže obsahovať aj nepovinné parametre. Vďaka tomu nemusí počet argumentov pri volaní funkcie zodpovedať počtu parametrov umiestnených v hlavičke funkcie. Ak je argumentov viac ako parametrov nič sa nestane a program pokračuje ďalej. Príklad: Nepovinný parameter v hlavičke funkcie. | function displayMessage($name, $age = 33) { | echo $name . " má " . $age . " rokov."; | } | displayMessage("Matej"); |
|
V poslednom príklade je v hlavičke funkcie uvedený druhý parameter ako nepovinný $age = 33. To znamená, že ak nie je funkcii predaný druhý argument, bude parametru $age predaná hodnota 33. V opačnom prípade mu program predá hodnotu argumentu. Nepovinný parameter je v skutočnosti zápis priradenia hodnoty premennej. Premennej je týmto spôsobom nastavená východisková hodnota, ktorú môže autor prostredníctvom argumentu zmeniť.V ďalšej časti venovanej funkciám bude demonštrované predávanie hodnotou a odkazom, ako aj ďalšie spôsoby zápisu a volania funkcií.