You are on page 1of 13

Funkcije

U ovoj lekciji upoznaćemo se sa pojmom funkcija u PHP-u. Do sada smo se, iako još uvek
nismo obradili taj pojam, dosta susretali sa funkcijama u PHP-u. Zapravo, većina naredbi
koje smo do sada izvršili bile su funkcije.

Nakon sledećeg opisa, lako ćemo prepoznati kada smo se tačno u dosadašnjem radu koristili
funkcijama, po njihovoj simptomatičnosti, odnosno, karakterističnoj formi.

Pre svega, da prvo razjasnimo šta je uopšte funkcija. Funkcija je neka programska struktura
koja je u stanju da na osnovu određenih primljenih parametara ili bez njih uradi neki posao i
na osnovu urađenog posla vrati rezultat.

Razloga za korišćenje funkcija u programiranju ima zaista mnogo. Ali, osnovne pozitivne
osobenosti funkcije su:

• enkapsulacija;
• smanjenje ponavljanja koda;
• brzina kodiranja;
• lakše održavanje koda;
• pouzdanost.

Veoma je čest slučaj da se pojavi potreba za učestalom upotrebom jednog istog bloka koda
u jednom programu. Ukoliko funkcije ne bi postojale, ovaj kod bismo, u najboljem slučaju,
morali da kopiramo na svako mesto gde nam je potreban.

Npr. u kodu na više mesta ispisujemo jedan isti tekst. Recimo, zvezdice u narednom
primeru:

<?php
echo "**********************************************";
echo "<br> naslov <br>";
echo "**********************************************";
echo "<br> Neki tekst <br>";
echo "**********************************************";
?>

Očigledno je da se deo koji iscrtava zvezdice ponavlja tri puta, a u programiranju postoji
pravilo da isti kod ne bi trebalo da se ponavlja.

Sledeći to pravilo, dolazimo do zaključka da je neminovno rešiti problem ponavljanja


zvezdica iz prethodnog koda, a najefikasniji način da to uradimo jeste upotreba funkcije.

Tako bi verzija prethodnog koda sa upotrebom funkcije izgledala ovako:

Copyright © Link group


// creating function stars
function stars(){
echo "**********************************************<br>";
}
//calling function stars
stars();
echo "title <br>";
//calling function stars
stars();
echo "Some text";

U prethodnom kodu razlikujemo dve celine. Jedna je definisanje funkcije, a druga pozivanje
funkcije.

Kada je u pitanju definicija funkcije, u PHP-u moraju biti ispoštovana neka pravila. Pre
svega, funkcija mora biti započeta ključnom rečju function. Zatim, ona mora posedovati
naziv, za koji, što se tiče notacije, važe ista pravila kao i za promenljive (osim znaka $
ispred naziva). Nakon naziva, u malim zagradama, potrebno je naglasiti prijem parametara
(kroz listu promenljivih odvojenih zarezima) ili zagrade ostaviti prazne, ukoliko funkcija ne
prima parametre. I, konačno, potrebno je samo telo funkcije, odnosno, kod koji funkcija
izvršava i koji treba postaviti u vitičaste zagrade, odmah nakon prijema parametara:

function mojaFunkcija($parametar1, $parametar2){


echo "ovo je telo funkcije";
}

Ovakav pristup ne samo da omogućava da se smanji veličina koda već i dovodi do


centralizacije koda, odnosno, jednostavne manipulacije raznim mehanizmima koji se u kodu
izvršavaju putem funkcija.

Recimo da primer sa zvezdicama još uvek nije prikazao pravu moć funkcija, i da je još uvek
lakše kopirati jedan isti red nekoliko puta. Ali, šta ako bismo želeli da naš izlaz sa
zvezdicama ima dinamički sadržaj? Na primer:

*********************** Beograd *************************


Tekst o Beogradu
*********************** Pariz ****************************
Tekst o Parizu
*********************** London **************************
Tekst o Londonu

U ovom slučaju, morali bismo, osim kopiranja zvezdica, da u svakom redu ispisujemo i
naziv grada i da brišemo i dodajemo zvezdice na kraju reda, kako bi bile poravnate.

Kod bi izgledao ovako:

Copyright © Link group


<?php
echo "************************************ Beograd
**************************************";
echo "<br>Text about Belgrade<br>";
echo "************************************* Pariz
****************************************";
echo "<br>Text about Paris<br>";
echo "************************************* London
**************************************";
echo "<br>Text about London<br>";
?>

Upotrebom funkcije, ovaj kod bi se mogao rešiti na sledeći način:


<?php
function stars( $cityName )
{
for( $i=0; $i<35; $i++ )
echo "*";
echo " " . $cityName . " ";
for( $x= ( $i + 2 ) + strlen ( $cityName ); $x < 90; $x++ )
echo "*";
}

stars( "Belgrade" );
echo "< br > Text about Belgrade < br >";
stars( "Paris" );
echo "< br > Text about Paris < br >";
stars( "London" );
echo "< br > Text about London < br >";
?>

U slučaju tri grada, koliko ih ima u primeru, postavlja se pitanje svrhe ovakve funkcije. Ali,
već posle nekoliko novih gradova, kod bi se umnogostručio kada ne bi bilo ove funkcije.

Osim toga, šta ukoliko bismo poželeli da u jednom trenutku smanjimo broj zvezdica kojima
je oivičen naziv grada?

U ovoj funkciji, za to bi trebalo promeniti samo dve vrednosti, dok bi bez funkcije trebalo
menjati kod onoliko puta koliko ima gradova.

Tipovi funkcija
Ono što je još zanimljivo u prethodnom primeru jeste da u okviru funkcije stars() pozivamo
još jednu funkciju: strlen(), koja vraća dužinu nekog stringa. U našem slučaju, to je naziv
grada. Funkcija strlen() nije funkcija koju smo ručno napisali, već je implementirana u PHP,
kao njegov sastavni deo, iz čega zaključujemo da PHP ima dve vrste funkcija, korisnički
definisane i unutrašnje (ugrađene) funkcije koje su deo PHP jezika.

Korisnički definisane funkcije su one koje sami kreiramo (poput funkcije stars) i one se
kreiraju korišćenjem ključne reči function, kao u prethodnom i sledećem primeru:
function add($num1,$num2){
return $num1 + $num2;
}

Copyright © Link group


Funkcija koju smo upravo napisali prihvata dva parametra i sabira njihove vrednosti. Nakon
toga pomoću naredbe return funkcija vraća dobijeni rezultat na mesto poziva.

Funkcija može biti napisana bilo gde u kodu, ali je ustaljena praksa da se sve funkcije pišu
na početku koda, pre ostalih naredbi. Takođe, funkcija može biti napisana i u posebnom
fajlu. Tada je potrebno da se ovaj fajl uključi na svaku stranu koja će koristiti njegove
funkcije.

Funkcije mogu biti pozvane iz bilo kog dela PHP koda. Nakon poziva funkcije, funkcija
preuzima prosleđene parametre, ukoliko ih ima, izvršava određene naredbe i vraća dobijenu
vrednost programu.

function add($num1, $num2){


return $num1 + $num2;
}
echo "The sum of 5 and 2 is " . add(5, 2);

U gornjem primeru koda funkcija se prvo definiše, ali se poziva tek kasnije, u okviru echo
naredbe. Prilikom poziva funkcije prosleđuju joj se prave vrednosti parametara (5 i 2).
Funkcija preuzima ove vrednosti, smešta ih u promenljive $num1 i $num2, obavlja zadate
operacije (sabira ih) i dobijenu vrednost vraća echo naredbi.

Moguće je napraviti i funkciju koja može, a ne mora da primi parametre, a da pritom ne


dođe do greške. U tu svrhu, postavljaju se podrazumevane vrednosti parametara:

function add($num1 = 3, $num2 = 4){


return $num1 + $num2;
}
echo "Result is " . add();

Promenljive koje se koriste unutar tela funkcije nazivaju se lokalne promenljive. Njima ne
može da se pristupa izvan funkcije. Ukoliko je ipak potrebno da se jednoj istoj promenljivoj
pristupa i iz tela funkcije i izvan njega, ovu promenljivu treba deklarisati kao globalnu,
upotrebom ključne reči global. Globalne promenljive postoje i izvan funkcija u kojima su
definisane.

function format_name( $first_name ,$last_name){


global $name;
$name = $first_name." - ".$last_name;
}
format_name( "Peter", "Andersen" );
echo $name;

Promenljiva $name je kreirana unutar funkcije, ali je upotrebom ključne reči global
deklarisana kao globalna promenljiva, što znači da će postojati i izvan funkcije. Prilikom
poziva funkcije, promenljiva $name biva kreirana i dodeljena joj je neka vrednost. Ovu
vrednost je moguće koristiti kasnije u kodu (echo naredba).

Funkciji je moguće proslediti parametre bilo kog tipa. Prilikom definisanja funkcije, unutar
zagrada se navode parametri koje funkcija koristi. Prilikom poziva funkcije, potrebno je
proslediti joj konkretne vrednosti za parametre koje očekuje. Ove vrednosti mogu biti:
brojevi, tekst, promenljive, nizovi, pa čak i izrazi koji imaju neku vrednost.

Copyright © Link group


Svaka funkcija očekuje određeni broj parametara. Ukoliko je pri pozivu prosleđeno manje
vrednosti nego što funkcija zahteva, funkcija koristi vrednost NULL za one koje nedostaju.
Ukoliko prosledite više vrednosti, funkcija ih ignoriše.

U PHP-u je moguće postaviti podrazumevane vrednosti za parametre, koje će se koristiti


ukoliko se ne proslede sve vrednosti parametara prilikom poziva.

function add_2_numbers( $num1=1, $num2=1 ){


$total = $num1 + $num2;
return $total;
}
echo add_2_numbers(10);

Analizirajući ponašanje ovog koda, uočavamo da je kao vrednost parametra $num1 preuzet
broj 10, koji je i prosleđen pri pozivu funkcije. Kako drugi parametar nije prosleđen,
preuzeta je podrazumevana vrednost 1. Zbog ovakvog ponašanja funkcija vraća vrednost
11.

Kada prosledite neku promenljivu funkciji, u stvari se prosleđuje njena vrednost. Bilo kakva
izmena koju izvršite nad prosleđenom promenljivom neće uticati na originalnu vrednost. Na
primer:

function add_1($num1){
$num1 = $num1 + 1;
}
$orig_num = 3;
add_1($orig_num);
echo $orig_num;

Prilikom poziva, funkciji add_1() se prosleđuje vrednost sadržana u promenljivoj $orig_num.


Naredbe unutar funkcije ne utiču na samu promenljivu, pa će naredba echo ispisati broj 3,
tj. prvobitnu vrednost promenljive $orig_num.

U nekim slučajevima će biti potrebno da funkcija promeni vrednost neke promenljive


kreirane izvan funkcije. Tada se umesto vrednosti promenljive prosleđuje njena referenca
pomoću operatora & na sledeći način:

function add_1(&$num1){
$num1 = $num1 + 1;
}

Prilikom poziva ovako definisane funkcije prosleđuje se referenca do promenljive


(pokazivač) umesto vrednosti koja je smeštena u njoj. Sada će promene unutar tela
funkcije uticati na originalnu vrednost. Naredbe:

function add_1(&$num1){
$num1 = $num1 + 1;
}
$orig_num = 3;
add_1($orig_num);
echo $orig_num;

Copyright © Link group


Rezultat na strani će sada biti broj 4.

Anonimous funkcije
Ponekad funkciju treba definisati generički u samom kodu. U tom slučaju, funkcija neće
imati ime, već će se samo aktivirati kroz kod. Ovakve funkcije nazivaju se još i anonimous
funkcije.
<?php
$myAninimousFunction = create_function('$a,$b','return $a + $b;');
echo $ myAninimousFunction(2, 4);
?>

Parametri funkcije create_function() predstavljaju niz; prvi član niza predstavlja njene
argumente, dok je drugi član samo telo funkcije. Kada je telo funkcije komplikovano,
funkcija create_function() je vrlo usporena, pa se iz tog razloga izbegava njeno korišćenje,
da se ne bi usporavao rad web stranice.

Anonimous funkciju takođe možemo definisati i na sledeći način:


$f = function(){
echo "Hello";
};
$f();

Dinamički poziv funkcije


PHP omogućava da promenljivoj dodelimo naziv funkcije kao string, a nakon toga tu istu
promenljivu koristimo za pozivanje funkcije. Pogledajmo primer:
<?php
function helloFunction()
{
echo "Hello<br />";
}
$function_holder = "helloFunction";
$function_holder();
?>

Dakle, funkcija je pri kreiranju dobila naziv „helloFunction”. Nakon toga je promenljivoj
$function_holder dodeljen string sadržaja „helloFunction”, odnosno sadržaj koji je identičan
nazivu funkcije. Na kraju, funkciju više ne moramo pozivati samo pomoću njenog imena,
već to možemo učiniti i pomoću novokreirane promenljive: $function_holder().

Funkciju je moguće kreirati i unutar tela već postojeće funkcije. Primer:


function func1(){
function func2(){
echo 'Test';
}
func2();
}
func1();

Copyright © Link group


Rezultat na strani je: Test.

Pitanje

Šta od ponuđenog nije osobenost funkcije?

a) Enkapsulacija
b) Smanjenje redundantnosti koda
c) Blokada upotrebe globalnih promenljivih
d) Brzina kodiranja

Objašnjenje:

U osnovne pozitivne osobenosti funkcije spadaju:

• enkapsulacija;
• smanjenje redundantnosti koda;
• brzina kodiranja.

Pitanje

Šta vraća funkcija strlen()?

a) Dužinu nekog stringa


b) Tip prosleđenog podatka
c) Trenutno ulogovanog korisnika
d) Ništa, funkcija ne postoji

Objašnjenje:

Funkcija strlen() je ugrađena PHP funkcija. Ova funkcija vraća dužinu nekog stringa.

Vežba 1

Problem:

Potrebno je napisati funkciju kojoj se prosleđuje broj koji predstavlja temperaturu izraženu
u stepenima Farenhajta, a ona je konvertuje u Celzijusove stepene. Dakle, na mesto poziva
funkcija vraća broj koji predstavlja temperaturu izraženu u stepenima Celzijusa. Na
sledećem linku možete pronaći formulu za izračunavanje i tabelu pomoću koje upoređujemo
tačnost rezultata: http://www.rapidtables.com/convert/temperature/how-fahrenheit-to-
celsius.html

Copyright © Link group


Rešenje:

<?php

$faren = 68;
function temperature($faren){
$cels= ($faren - 32) / (9/5);
return $cels;
}
echo $faren ." degrees in Fahrenheit is " .temperature($faren) . "
degrees in Celsius.";

?>

Možemo videti da u okviru poziva funkcije temperature kao ulazni parametar dodajemo
promenljivu $faren i ovim ispunjavamo prvi deo problema: napisati funkciju kojoj se
prosleđuje koji predstavlja temperaturu izraženu u stepenima Farenhajta. Zatim smo
definisali promenljivu cels, u okviru koje imamo formulu za konverziju temperature. Sa
naredbom return vraćamo vrednost promenljive $cels na mesto gde je funkcija pozvana. Na
ovaj način smo ispunili zahtev: Dakle, na mesto poziva funkcija vraća broj koji predstavlja
temperaturu izraženu u stepenima Celzijusa. Naše mesto poziva se nalazi u samom ispisu
(temperature($faren)). Ispis je i u ovom slučaju potpuno proizvoljan.

Vežba 2

Problem:

Postoji sledeći ulaz u aplikaciju:

define( "SQUARE", 0 );
define( "RECTANGLE", 1 );
define( "CIRCLE", 2 );
define( "PI", 3.14 );

Potrebno je napraviti funkciju koja će kao parametre prihvatati tip geometrijskog oblika
(kvadrat, pravougaonik ili krug) i vrednosti a i b. U zavisnosti od tipa geometrijskog oblika,
izračunava se njegova površina i vraća rezultat.

Potrebno je testirati funkciju.

Rešenje:

<?php
define("SQUARE", 0);
define("RECTANGLE", 1);
define("CIRCLE", 2);
define("PI", 3.14);
function area($type, $a, $b = 0){
$rez = 0;
switch($type)
{
case SQUARE:
$rez = pow($a, 2);

Copyright © Link group


break;
case RECTANGLE:
$rez = $a * $b;
break;
case CIRCLE:
$rez = pow($a, 2) * PI;
break;
}
return $rez;
}
echo area(CIRCLE, 4);
?>

Ovaj zadatak je odličan primer kombinovanja znanja iz različitih do sada obrađenih oblasti
PHP-a. Najpre smo na već poznat način kreirali konstante koje će u nastavku programske
logike biti korišćene, a nakon toga smo kreirali i pozvali funkciju. Funkcija radi sa tri
parametra, od kojih samo poslednji poseduje podrazumevanu vrednost, što ovaj parametar
čini opcionim.

Pomoću switch izjave proveravamo vrednost parametra $type i utvrđujemo kojoj konstanti
odgovara. U zavisnosti od ove vrednosti, vršimo izračunavanje po sledećim formulama:

$rez = pow($a, 2);


$rez = $a * $b;
$rez = pow($a, 2) * PI;

Sada je naš rezultat kreiran i može biti vraćen na mesto poziva funkcije.

Domet promenljive
Za kraj ove lekcije, posvetićemo pažnju još jednom problemu sa kojim možete da se
susretnete, a to je domet promenljive.

Deklarisanje promenljivih nije ograničeno na deklarisanje po vrednosti ili referenci i možete


ih deklarisati bilo gde – naravno, u okviru PHP skriptova. Međutim, kada je u pitanju lokacija
same promenljive, može se javiti problem dostupnosti. Problem se javlja ukoliko
promenljivu deklarišete u jednom delu aplikacije, a pozivate je u drugom zatvorenom delu.
Na primer, ako ste promenljivu deklarisali u okviru neke funkcije i želite da joj pristupite
van tih okvira, program će se pobuniti i reći da promenljiva ne postoji. Tako dolazimo do
domenskog pristupa promenljivih.

PHP promenljive mogu pripadati jednom od četiri dometa:

• lokalne promenljive;
• parametri funkcija;
• globalne promenljive;
• statičke promenljive.

Lokalne promenljive – Promenljive koje su deklarisane samo u okviru funkcije nazivaju se


lokalnim jer mogu da se koriste samo u okviru te funkcije. Kada bismo pokušali da
promenljivoj dodelimo neku vrednost van tela funkcije, PHP bi pomenutu promenljivu
tretirao kao potpuno drugačiju, novu promenljivu, koja nema veze sa deklarisanom u telu
funkcije.

Copyright © Link group


Lokalne promenljive se koriste da bi eliminisale eventualne bočne efekte koji predstavljaju,
između ostalog, i slučajne ili namerne izmene globalno dostupnih promenljivih.

Na sledećoj ilustraciji vidimo promenljivu definisanu unutar PHP funkcije i jednu definisanu
izvan nje.

Slika 10.1. Istoimene promenljive definisane izvan i unutar funkcije

Ove promenljive neće uticati jedna na drugu.

Ako želite to i da dokažete na primeru, možete napisati sledeći kod (neki elementi primera
još nisu razjašnjeni u ovom delu kursa, ali su neophodni da bi primer bio kompletan):
// Defines the variable with name x and the value 20
$x = 20;
//defines function f
function f(){
//Within a function, defines the variable x with value 10
$x = 10;
//Printing variables on the screen
echo $x;
}
//Calling function f
f();
//Printing variable x
echo $x;

Parametri funkcija – Što se tiče funkcija, objašnjavaćemo ih detaljnije u nastavku kursa.


Sada ćemo se zadržati samo na parametrima funkcije, odnosno, argumentima funkcija. Kao
što je već poznato, svaka funkcija koja prihvata neke parametre (na primer sa ulaza) u
svom zaglavlju mora imati određene argumente (zapravo, ti argumenti su parametri). Bitno
je napomenuti da ovi argumenti dobijaju vrednosti izvan tela funkcije kojoj pripadaju i
njima nije moguće pristupati nakon završetka izvršavanja funkcije. Ovakvi tipovi
promenljivih, parametri funkcije, deklarišu se nakon navođenja naziva funkcije, unutar
zagrada.

Primer:
//Function f is defined
function f($x)
{
//Variable x increases by 5
$x = $x + 5;
}

Copyright © Link group


Da bi ova funkcija bila startovana, morali bismo da napišemo:

f(10);

Odnosno, mogli bismo napisati:

//Variable x is defined with the value 10


$x = 10;
//Calling function f i with argument x
f($x);
//Value of variable x shows on display
echo $x;

Ako bismo startovali prethodni kod (u kombinaciji sa prethodno definisanom funkcijom), na


izlazu bi bio prikazan broj 10. Upravo zbog toga što promenljiva koja je ušla u funkciju kao
parametar, i tretirana je unutar nje, nema uticaja na spoljašnju funkciju.

Globalne promenljive – Možemo reći da su globalne promenljive suprotan pojam od


lokalnih promenljivih, koje smo objasnili. Globalnim promenljivama se može pristupati iz
bilo kog dela programa. Da bismo imali mogućnost da modifikujemo promenljivu, moramo
je eksplicitno deklarisati kao globalnu u okviru funkcije u kojoj želimo da vršimo izmenu.
Proglašavanje promenljive globalnom potrebno je da se navede pomoću ključne reči global
ispred željene promenljive.

Primer:
$my_variable = 10;

//Function without arguments


function f()
{
//Variable my_variable is global
global $my_variable;
//Variable my_variable increases by 1
$my_variable++;
}
f();
//Result shows on display
echo "Result is " . $my_variable;

Rezultat nakon izvršenja funkcije je 11; međutim, kada bismo izostavili proglašavanje
promenljive globalnom (global $my_variable), promenljiva $my_variable bi imala
nedefinisanu vrednost nakon izvršavanja funkcije, jer se u ovom slučaju tretira kao lokalna
promenljiva.

Drugi način korišćenja globalnih promenljivih je deklarisanje promenljive kao $GLOBALS


polje. Sada ćemo modifikovati prethodni primer tako da promenljiva $my_variables bude
globalna pomoću niza $GLOBALS:
$my_variable=10;
function f() {
$GLOBALS["my_variable"]++;
}
f();
echo "Result is ". $my_variable;

Copyright © Link group


Nakon izvršenja ovog koda, na strani dobijamo sledeći prikaz:

Result is 11

jer unutar funkcije nismo kreirali novu promenljivu, već smo pristupili globalnoj kroz niz
$GLOBALS.

Statičke promenljive – Nasuprot promenljivama koje smo navodili u okviru domena


parametara funkcija, statičke promenljive se ne uništavaju nakon izvršavanja izračunavanja
koje se obavlja u samoj funkciji. Statička promenljiva ne gubi svoju vrednost nakon
izvršavanja funkcije; vrednost promenljive ostaje i prilikom narednog pozivanja iste
funkcije.

Veliku primenu korišćenja statičkih promenljivih pronalazimo u okviru kreiranja rekurzivnih


funkcija. Rekurzivne funkcije su, najprostije rečeno, funkcije koje pozivaju same sebe dok
ne bude ispunjen odgovarajući uslov koji se unapred zadaje.

Korišćenje statičkih promenljivih

Kada želimo da lokalna promenljiva zadrži svoju vrednost između poziva funkcija, potrebno
je da je proglasimo statičkom, odnosno deklarišemo je pomoću rezervisane reči static; na
primer:

static $a = 1;

Primer bez korišćenja statičke promenljive:


<?php
function incrementFunc(){
$x = 10;
echo ++$x . "<br>";
}
incrementFunc();
incrementFunc();
incrementFunc();
?>

Kako se pri svakom pozivu funkcije kreirala nova lokalna promenljiva $x koja nije statička,
tako je i njena početna vrednost uvek bila 10. Zato je rezultat na ekranu sledeći:

11
11
11

Primer sa korišćenjem static promenljive:


<?php
function incrementFunc(){
static $x = 10;
echo ++$x . "<br>";
}
incrementFunc();
incrementFunc();
incrementFunc();
?>

Copyright © Link group


Rezultat na ekranu je sledeći:

11
12
13

Statičke promenljive su blisko povezane sa upotrebom klasa (objektno orijentisani koncept).

Superglobalne promenljive

Korišćenjem PHP-a otvara se mogućnost korišćenja velikog broja predefinisanih promenljivih


kojima se pristupa unutar skripta koji se izvršava, a koje vam mogu omogućiti da imate
pregled dodatnih informacija koje se tiču okruženja. Informacije takve vrste mogu biti, na
primer, informacije o klijentu, serverskom softveru itd. Pokušajte da izvršite kod iz sledećeg
primera i analizirajte dobijeni zapis kako biste uočili povratne informacije od servera.

Primer:

foreach ($_SERVER as $var => $value)


echo $var . ":" . $value . '<br />';

Izvršavanjem koda dobićete veliki broj informacija koje verovatno neće imati veliki značaj
za vas; međutim, ukoliko vam je potrebna specifična informacija, na primer, o IP adresi
vašeg računara, možete je preuzeti upravo odavde:

printf('Your IP address is: %s ', $_SERVER['REMOTE_ADDR'] );

Rezime

• Funkcije su jedan od ključnih elemenata OOP-a.


• Postoje ugrađene i korisnički definisane funkcije.
• Funkcija se može definisati bilo gde u kodu, a poželjno je na početku.
• Funkcije primaju parametre i vraćaju rezultat.
• Funkcije mogu imati i podrazumevane vrednosti parametara.
• Promenljive deklarisane u funkciji nisu dostupne van funkcije.
• Da bi promenljive bile dostupne van funkcije, potrebno je korišćenje ključne reči
global.
• Funkcijama se smanjuje veličina koda.
• Funkcijama se povećava portabilnost koda.
• PHP promenljive mogu pripadati jednom od četiri dometa:

o lokalne promenljive;
o parametri funkcija;
o globalne promenljive;
o statičke promenljive.

Copyright © Link group

You might also like