Monday, May 30, 2016

Rukovanje greskama koje se dese u funkciji (Handling errors that occur in the function)

Ako se u funkciji desi neka greska, ona cesto namerno vraca false. Ne samo da su mnoge ugradjene PHP funkcije napravljene na ovaj nacin, vec treba da radite isto i kad pisete svoje funkcije. 

Primer: izracunavanje reciprocne vrednosti. Funkcija vraca netacno (FALSE), ako se trazi reciprocna vrednost sa 0.

function reciprocna_vrednost($vrednost)
{
if($vrednost != 0){
return 1 / $vrednost;
}
else {
return FALSE;
}

}

Sunday, May 29, 2016

Upotreba fajlova koji se ukljucuju (Using include files)

Moguce je ukljuciti sadrzaj jednog PHP fajla u drugi PHP fajl (pre nego sto ga server izvrsi), sa include ili require iskazom.

Inlcude i require iskazi su identicni, osim nakon neuspeha:
  • include ce proizvesti samo upozorenje i skripta ce se nastaviti
  • require ce proizvesti fatalnu gresku i zaustaviti skriptu

Dakle, ako zelite da se izvrsenje nastaviti i prikazete korisniku izlaz, cak iako include fajl nedostaje, koristite include iskaz. 
Inace, u slucaju CMS-a ili slozene PHP aplikacije, uvek koristite require iskaz da ukljucite kljucni fajl na tok izvrsenja. Ovo ce pomoći da se izbegne ugrozavanja sigurnosti i integriteta aplikacije, za svaki slucaj, ako jedan fajl slucajno nedostaje.

Friday, May 27, 2016

Kreiranje funkcija unutar funkcija (Creating functions within the functions)

Kreiranje funkcija unutar funkcija tj. ugnjezdene funkcije

U PHP-u mozete da ugnjezdite funkcije, kao i kod uslovnih funkcija, medjutim, interne funkcije se ne mogu videti sve dok se pozove funkcija koja ih sadrzi.

Primer: pozivanje funkcije unutar funkcije, ali tek nakon sto je pozvana spoljasnja funkcija:

<?php

function ogradjena_funkcija()
{
echo "Zdravo iz ogradjene funkcije.<br />";

function napravljena_funkcija()
{
echo "Zdravo iz ugnjezdene funkcije.<br />";
}
}

ogradjena_funkcija();

napravljena_funkcija();

?>

Rezultat:

Zdravo iz ogradjene funkcije.
Zdravo iz ugnjezdene funkcije.


Creating a function within the function ie. nested functions

In PHP you can nest functions, as well as in conditional functions, however, the internal functions can not be seen until the function that contains them is called..

Example: calling the function within the function, but only after the outer function is called:

<?php

function enclosed_function()
{
echo "Hello from enclosed function.<br />";

function created_function()
{
echo "Hello from nested function.<br />";
}
}

enclosed_function();

created_function();

?>


Result:

Hello from enclosed function.
Hello from nested function.


Kreiranje uslovnih funkcija (Creating conditional functions)

PHP je jezil koji se interpretira, sto znaci da se funkcije deklarisane unutar uslovnih iskaza, kao sto je iskaz if, ne mogu pozvati sve dok PHP interpreter ne izvrsi taj uslovni iskaz i vidi tu funkciju.

Primer: ako imamo funkciju postojeca_funkcija():

function postojeca_funkcija()
{
echo "postojeca_funkcija(): Ja sam spreman za pokretanje cim skripta pocne.<br />";
}

Nastavak primera: ova funkcija se moze pozvati cim se ovaj skript pokrene:

Saturday, May 14, 2016

Kreiranje promenljivih za funkcije (Creating variables for functions)

Promenljive za funkcije mogu da sadrze nazive funkcija, a funkcije pozivate tako sto cete iza promenljive dodati zagrade. Na osnovu toga, moze se u trenutku izvrsenja programa odrediti koja ce se funkcija pozvati.

Primer: ako imamo funkciju suzuki:

function suzuki()
{
echo "Sada smo u suzuki() <br />";
echo "Imamo puno suzuki motora.<br /><br />";
}

Nastavak primera:  da biste ovu funkciju pozvali pomocu promenljive za funkcije, potrebno je da promenljivoj dodelite vrednost "suzuki" i da onda funkciju pozovete pomocu promenljive:

Tuesday, May 10, 2016

Upotreba staticke promenljive (Using static variables)

Lokalne promenljive u funkcijama se resetuju na svoje podrazumevane vrednosti uvek kada se funkcija pozove. 

Primer: ako imate funkcjiu za brojanje, koja svakog puta kada je pozovete povecava vrednost promenljive $brojac za 1

<?php

echo "Trenutni broj: ", broj_zapisa(), "<br />"; 
echo "Trenutni broj: ", broj_zapisa(), "<br />";
echo "Trenutni broj: ", broj_zapisa(), "<br />";
echo "Trenutni broj: ", broj_zapisa(), "<br />";

function broj_zapisa()
{
$brojac = 0;
$brojac++;
return $brojac;

}

?>

Rezultat:

Wednesday, May 4, 2016

Kreiranje tabele 2 - kako promeniti boju pozadinu reda kada se misem predje preko (Creating table 2 - how to change the background color of raw when you hover over)

Pitanje: Kreiranje tabele 2 - kako promeniti boju pozadine reda kada se misem predje preko?

Resenje: svojstvo: hover.

Primer :

HTML kod - opcija 1

<!DOCTYPE html>
<html>
<head>
<title>Kako da napravite tabelu 2</title>

<meta charset="UTF-8"/>
<meta name="description" content="Description that search reads" />
<meta name="keywords" content="page keywords, keywords" />
<meta name="author" content="Marija Rikic">
<link rel="icon" type="image/png" href="images/favicon.jpg">
<link rel="stylesheet" type="text/css" href="style.css">
</head>


Upotreba globalnih podataka u funkcijama (Using global data in functions)

U prethodnom clanku (primer 3) videli smo da, promenljive unutar funkcije imaju svoj domen i ne mesaju se sa promenljivama izvan funkcije.

Sta uraditi ako unutar funkcije zelite da pristupite vrednosti definisanoj na nivou koda tj. globalnoj promenljivoj?

Primer: ako na nivou koda zadate da je vrednost za $vrednost 3, mozete u funkciji probati da ovoj vrednosti pristupite ovako:

$vrednost = 3;
function lokalni_domen()
{
echo "\$vrednost = ", $vrednost, "<br />";
}

Objasnjenje: ovo nece raditi posto PHP zeli da  spreci slucajan konflikt izmedju globalnih i lokalnih promenljiva.