Načrtovanje in razvoj spletnih aplikacij

Funkcije v PHP

Naloga funkcije je, da prebere vrednosti, jih procesira in izvrši akcijo (npr. izpis v pregledovalnik) ali vrne novo vrednost ali oboje. Funkcija je del kode, katere naloga ni nujno takojšnja izvršitev akcije, ampak se lahko aktivira, ko to od nje zahteva skripta.

Funkcije so lahko vgrajene ali jih uporabnik napiše sam in za svoje delo zahtevajo podatke, ki jih obdelajo. PHP vsebuje veliko vgrajenih funkcij in preden se lotimo pisanja svoje, je vedno dobro pogledati, ali je morebiti takšna funkcija že napisana.

Definiranje funkcij

Funkcijo definiramo z uporabo izraza function. Če funkcija zahteva argument, na podlagi katerega se izvrši, ga vpišemo v oklepaj in argumente ločimo z vejicami.

function neka_funkcija($argument1, $argument2)
{
   // koda funkcije
}
<?php
   function echoBR($txt){
      echo ("$txt<br />");
   }
   echoBR("To je prva vrstica.");
   echoBR("To je druga vrstica.");
   echoBR("To je tretja vrstica.");
?>
To je prva vrstica.
To je druga vrstica.
To je tretja vrstica.

Najprej smo definirali funkcijo in jo nato uporabili s klicom funkcije. Ta funkcija zahteva argument (tekst), ki se vedno izpiše v novo vrstico. Funkcija se obnaša podobno kot izraz echo(), vendar vsak naslednji tekst zapiše v novo vrstico. S tem lahko prihranimo pisanje kode HTML za novo vrstico (<br />).

<?php
   function izpisiPozdrav() {
      echo 'Pozdrav iz funkcije! <br/>';
   }
   
   //klic funkcije
   izpisiPozdrav();
?>
Pozdrav iz funkcije!

Primer funkcije s parametri:

<?php
   function izpisiIme($ime) {
      echo 'Moje ime je ' . $ime . '!<br/>';
   }
	
   //klic funkcije
   izpisiIme('Janez');
?>
Moje ime je Janez!

Funkcije, ki vrnejo vrednost

Vrednosti se lahko vrnejo s pomočjo neobveznega stavka return. Vrnejo lahko katerikoli tip spremenljivke. Vrnitev vrednosti konča izvajanje funkcije in skripta, iz katere smo funkcijo klicali.

// Funkcija, ki vrne vrednost.
function sestevanje($prvo_stevilo, $drugo_stevilo)
{
   $rezultat = $prvo_stevilo + $drugo_stevilo;
   return $rezultat;
}
echo sestevanje(3,5); // izpiše "8"
<?php
   function sestej($x,$y) {
      $vsota = $x + $y;
      return $vsota; //vrednost
   }

   //klic funkcije
   echo '3 + 12 = ' . sestej(3,12);
?>
3 + 12 = 15