09./10. 03 - nastavak - PHP - Programiranje dinamičkih stranica
*** da se podsetimo nekih osnovnih pojmova koje već znate: ***
1. Statičke i dinamičke web stranice
Desktop i web aplikacije
- Aplikacija je bilo koji program koji je napravljen da bi bio pojednostavljen ili obavljen neki zadatak.
- Desktop aplikacija je instalirana na klijentskoj mašini.
- Desktop (klasična) aplikacija se pokreće izvršavanjem određenog izvršnog fajla (exe / jar).
- Web aplikacija je instalirana na nekom udaljenom serveru i njoj se pristupa putem Internet-a.
- Web aplikacija se pokreće zahtevom odgovarajućeg URL-a u Web Browser-u, koji predstavlja interfejs web aplikacija.
Statički web sajtovi
- Statički sajtovi se ne menjaju sve dok sam autor nešto ne promeni
- Omogućavaju slanje informacija ka korisnicima
- Korisnici nemaju mogućnost interakcije i ne mogu neki zadatak da izvršavaju na programabilan način
- Statičke web sajtove čine obične statičke HTML stranice (skup HTML fajlova)
Zahtev za HTML dokumentom (u slučaju statičke HTML stranice) :

Dinamičke web aplikacije
- Dinamičke web aplikacije - interkacija sa korisnikom
- Dinamičke web aplikacije čine dinamičke stranice (skup php, asp, jsp... fajlova) koje takođe koriste HTML jezik za komunikaciju sa klijentom
Slanje zahteva kod klijent-server arhitekture:

2. Ponavljanje gradiva
(KLIK za prikaz/sakrivanje nekih od najvažnijih pojmova sa prethodnog časa)
PHP je jezik za pisanje skriptova koji rade na serveru. To je proizvod otvorenog koda (open source). Namenjen je za izradu dinamičkih stranica koje mogu da komuniciraju sa bazama podataka. Izvodi se na strani servera.
Potrebno je osnovno znanje iz HTML-a, CSS-a i JavaScript-a da bismo lakše naučili PHP.
(skraćenica PHP: Personal Home Page, PHP Hypertext Preprocessor )
PHP nije strogo tipiziran, što znači da ista promenljiva može menjati tip podatka koji sadrži (iako se to ne preporučuje). Promenljive je moguće napraviti kad god je to potrebno.
Da bi se pokrenuo PHP potreban je lokalni web server i tekst editor. PHP fajlovi imaju ekstenziju .php i mogu da sadrže tekst, HTML, CSS, JavaScript i PHP kod.
PHP kod se može nalaziti
bilo gde u dokumentu. Počinje sa <?php i završava se sa ?>. Svaka linija koda između ove dve komande završava se sa (;).
Za ispisivanje teksta i vrednosti promenljive mogu da
se koriste naredbe echo i print. Echo nema povratnu vrednost, a print uvek vraća vrednost i zbog toga se može tretirati kao funkcija i koristiti u izrazima.
Funkcija var_dump() ispisuje
vrednost i tip promenljive.
Komentare možemo pisati na dva načina. Jednolinijski komentar pišemo posle karaktera // , a višelinijski između /* */ .
Promenljive služe za čuvanje informacija. Ispred naziva promenljive stoji znak $. Naziv može da počinje slovom ili donjom crtom, ali ne i brojem. Može da sadrži mala i velika slova, brojeve i donju crtu. U nazivima
promenljivih se razlikuju mala i velika slova. Na primer: $ime i $Ime su dve različite promenljive.
Promenljive ne deklarišemo ni na kakav poseban način. Postaju definisane kada im prvi put dodelimo vrednost,a možemo ih definisati kada god je to potrebno.
Kasnije ćemo malo više reći o njima: Oblast važenja (kontekst u kome su definisane), vrste: lokalne, globalne i statičke. Promenljive koje su definisane na globalnom nivou ne
važe unutar funkcija i obrnuto. Kada želimo da koristimo globalnu promenljivu u funkciji, koristimo ključnu reč global.
3. Nastavak:
Prvo treba savladati osnove, da bi se moglo raditi sa naprednijim elementima.
Proći ćemo ukratko tipove podataka: prvo o stringovima, zatim o prostim tipovima podataka i na kraju o nizovima. To će nam biti potrebno za dalji rad.
Za početak, da vidimo kako se radi sa stringovima:
VIDEO: Stringovi (KLIK za prikaz/sakrivanje snimka)
Vežbe:
- kreirati index.php.
- ubaciti template za html:5
- u body ubaciti tagove za php
- kreirati promenljive: $ime , $prezime,
echo $ime;
Otvoriti u Browseru: localhost/"vaš folder"/string
* upotrebiti više primera radi ilustracije:
* proveriti šta će biti ako se koriste jednostruki ili dvostruki navodnici
* prikazati poruku u kojoj postoje neki navodnici (verzije sa obe vrste navodnika i sa \ )
* kako "prilepiti" vrednosti u echo pomoću tačke
* šta će biti ako u echo ubacimo promenljivu - hoće li raditi ako su okolo jednostruki/dvostruki navodnici
* Unutar dvostrukih navodnika su vidljive varijable !
* Proveriti da li će raditi sa jednostrukim navodnicima
echo 'Pozdrav'.$ime;
U nastavku je video o prostim tipovima podataka:
VIDEO: Prosti tipovi podataka (KLIK za prikaz/sakrivanje snimka)
Vežbe:
- Osnovni prosti tipovi podataka: brojevi, boolean i null
- U index.php dodati sledeće:
$broj= 12;
$broj2 = 22.25;
$zbir= $broj + $broj2;
echo $zbir;
- Kada želimo da vidimo i kojeg je tipa podatak, koristićemo var_dump()
var_dump($zbir);
- Isprobati matematičke operacije sa brojevima (+, -, *, /, %):
echo 1 + 2 * 3 ;
- Šta će se desiti ako stavimo navodnike oko brojeva?
Boolean: trebaće nam ako koristimo uslove
$istina = true;
$neistina = false;
- Kako se ispisuju logičke vrednosti u browseru? - ispitati obe vrednosti sa
echo
ili
var_dump ()
Null: nedostatak vrednosti koji može da se zada
$neko = null;
- Ispitati šta će se ispisati na ekranu za nešto što je null
A sada malo o NIZOVIMA:
Ovo bi trebalo da vam je poznato:
VIDEO: Array (KLIK za prikaz/sakrivanje snimka)
Vežbe:
foreach($ime_niza as $el) {
echo "<br> $el <br>";
}
*****
Međutim, da li ste se dosada sretali sa asocijativnim nizovima:
VIDEO: Associative Array (KLIK za prikaz/sakrivanje snimka)
Vežbe:
Funkcije
Šta su funkcije i kako se definišu?
Prvo pogledajte sledeći video:
VIDEO: Funkcije (KLIK za prikaz/sakrivanje snimka)
Kako da definišete funkcije u PHP-u?
Funkcije u PHP-u definišemo na sledeći način:
<?php
function naziv_funkcije($argument1,$argument2…$argumentN)
{
//blok naredbi funkcije
}
?>
Primer #1 (KLIK za prikaz/sakrivanje primera)
<?php
function saberi($broj1, $broj2)
{
$ukupno=$broj1+$broj2;
return $ukupno;
}
$b1=22;
$b2=23;
echo saberi($b1,$b2);
?>
U ovom primeru se, osim promenljivih $b1 i $b2, koriste i $broj1 i $broj2.
Ovo je moguće zato što se funkciji ne dodeljuju same promenljive već njihove vrednosti koje se čuvaju u lokalnim promenljivama koje postoje samo za vreme izvršenja funkcije.
Primer #2 (KLIK za prikaz/sakrivanje primera)
<?php
function povecaj($broj,$vrednost){
$broj += $vrednost;
}
$broj_jabuka=12;
povecaj($broj_jabuka,10);
echo $broj_jabuka;
?>Nije obavezno koristiti isto ime promenljive u glavnom programu i funkciji, iako je moguće. Rezultat će u oba slučaja biti isti.
U nastavku je primer kada funkcija ima default vrednost:
Primer #3 (KLIK za prikaz/sakrivanje primera)
<?php
function dugovanje($novaca=0)
{
echo "Dug koji imate je $novaca dinara ";
}
// ispis default vrednosti
dugovanje();
echo "<hr>";
// ispis date vrednosti
dugovanje(1000);
?>
Kod funkcija koje imaju default vrednost bitno je da ta vrednost bude konstantna (string ili broj).
Ako funkcija ima više argumenata, tada argumenti koji imaju default vrednosti moraju biti iza argumenata koji nemaju default vrednosti. To je ilustrovano u sledećem primeru:
Primer #4 (KLIK za prikaz/sakrivanje primera)
<?php
function jelo($losije,$bolje="burek")
{
echo "$bolje je bolji dorucak nego $losije";
}
jelo("kifla");
?>
***
Postoje funkcije koje su ugrađene u PHP, ali će o njima biti više reči neki drugi put ( onda kada nam zatrebaju ).