PHP ponuja širok nabor funkcij, ki jih lahko uporabimo za različne naloge. Funkcijo definiramo z uporabo ključne
besede function, čemur sledi ime funkcije, seznam parametrov v oklepajih in telo funkcije v zavitih
oklepajih. Funkcije omogočajo ponovno uporabo kode, Microsoft, kar naredi program bolj pregleden in lažji za
vzdrževanje.
Resnična moč jezika PHP izvira iz njegovih funkcij. PHP ima že več kot 1000 vgrajenih funkcij, ki so takoj pripravljene za uporabo, poleg tega pa nam omogoča popolno svobodo pri ustvarjanju lastnih rešitev po meri.
Poleg bogate knjižnice vgrajenih funkcij nam PHP omogoča, da napišemo svoje funkcije po meri. Ime uporabniške funkcije se mora začeti s črko ali podčrtajem (ne s številko) in **ni** občutljivo na velike in male črke (case-insensitive), vendar je dobra praksa, da jih pišemo enotno. Koda znotraj zavitih oklepajev se ne bo izvedla ob nalaganju strani, ampak šele takrat, ko funkcijo v skripti uradno pokličemo z njenim imenom in oklepaji.
Funkcijam lahko ob klicu posredujemo informacije preko **argumentov** (spremenljivk znotraj oklepajev). Argumenti
delujejo kot lokalne spremenljivke znotraj same funkcije. Funkcija lahko sprejme poljubno število argumentov, ločenih
z vejico. Ključnega pomena je tudi ukaz return, ki ustavi izvajanje funkcije in njen končni rezultat
"vrne" nazaj na mesto, od koder je bila poklicana. To nam omogoča, da izračunano vrednost shranimo v spremenljivko
ali izpišemo kasneje.
PHP ponuja nekaj vgrajenih funkcij, s katerimi lahko preverjamo obstoj funkcij, analiziramo njihove argumente ali pridobimo seznam vseh definiranih funkcij v sistemu:
| Ime funkcije | Opis delovanja | Primer (Koda za simulator) |
|---|---|---|
function_exists() |
Preveri, ali je funkcija z določenim imenom že definirana in pripravljena za klic (vrne true/false). | var_dump(function_exists("is_numeric")); |
is_callable() |
Preveri, ali se vsebina spremenljivke lahko pokliče kot funkcija (koristno za t.i. callback funkcije). | $f = "strlen"; var_dump(is_callable($f)); |
get_defined_functions() |
Vrne večdimenzionalno asociativno tabelo vseh vgrajenih (internal) in uporabniških (user) funkcij. | print_r(get_defined_functions()["user"]); // Izpiše samo tvoje funkcije |
func_num_args() |
Vrne število argumentov, ki so bili dejansko posredovani funkciji (uporablja se znotraj funkcije). | function test() { echo func_num_args(); } test("a", "b", "c"); // Izpiše 3 |
func_get_arg() |
Vrne določen argument iz seznama prejetih argumentov glede na njegov indeks (šteje se od 0 naprej). | function test() { echo func_get_arg(1); } test("Prvi", "Drugi"); // Izpiše Drugi |
func_get_args() |
Vrne indeksirano tabelo, ki vsebuje vse argumente, posredovane funkciji. | function test() { print_r(func_get_args()); } test(10, "PHP", true); |
call_user_func() |
Pokliče poljubno funkcijo, podano v prvem parametru, in ji posreduje preostale ostale argumente. | echo call_user_func("strtoupper", "živjo"); |