započeo rasmus - tfzr.uns.ac.rs it cas 1.pdf · 1995 - php (personal home page) jezik je započeo...
TRANSCRIPT
1995 - PHP
(Personal Home
Page) jezik je
započeo Rasmus
Lerdorf za
potrebe lične
web strane 1995.
1999 - Zeev
Suraski i Andi
Gutmans su dalje
razvili PHP 3 (PHP
Hypertext
Preprocessor) i
Zend kompajler
kao osnovu za
PHP 4.
2004 - PHP 5
uključuje i
objektno
programiranje.
...PHP 6 ...
K
Kreiranje intraktivnih, dinamičkih
WEB strana na najlakši mogući
način.
Web strane se izvršavaju na
serverskoj strani.
Sličan C-u od koga je nastao .
PHP-om poručujemo serveru šta
želimo da se desi.
HTML i JavaScript se izvršavaju na
klijentskoj strani, odnosno na
korisničkom računaru
Nestruktuiran i nekonzistentan.
Platformski neutralan.
PHP može da memoriše podatke i
koristi ih u kasnijem trenutku.
Integrisanost sa (X)HTML-om.
Procenjuje se da na svetu ima
preko 15 miliona web strana
kreiranih u PHP-u
PHP
Implementira autentifikaciju i zaštitu komunikacije
Obrađuje podatke iz formulara
Povezuje korisnike sa bazama podataka na serveru
Omogućava dinamički HTML sadržaj
Vrši obrade na serveru, npr. prikuplja statistike o posećenosti
Alternative◦ Python
◦ Perl
◦ ASP – Active Server Pages
◦ JSP – Java Server Pages
LAMP – Linux Apache MySQL PHP (Python, Perl)
WAMP – Windows Apache MySQL PHP (Python, Perl)
Na tržištu više od 50% veb servera su tipa Apache
Najpopularniji programski jezik za dinamičko programiranje veb strana na serverima Apache je PHP
PHP je uopšte jedan od najpopularnijih programskih jezika
PHP koriste wikipedia.org, yahoo.com, facebook.com itd.
Crossplatform
Efikasan u
rešavanJu
problema
PHP datoteke
PHP datoteke su
mešavina PHP i HTML.
Ekstenzija datoteka je
.php
Za kreiranje datoteka
koriste se tekst
editori (SimpleText –
Macintosh ili Notepad
Windows).
Može se koristiti i
razvojno okruženje
za PHP (IDE) sa
prednostima kojih
nema kod tekst
editora (KOMODO,
MAGUMA, PHPedit,
Zend Studio)
Program koji se napiše u PHP-u ne zahteva prevođenje (kompajliranje), nego se interpretira pri svakom izvršavanju.
Uobičajen scenario po kom se izvršavaju PHP skripte je sledeći:
klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera
server prosleđuje zahtev servisu za veb (program veb-server na serveru)
veb-server prepoznaje da se traži PHP datoteka
ne šalje njegov sadržaj klijentu, nego ga izvršava kao program pomoću PHP modula
izlazni tekst programa (standardni izlaz) se šalje klijentu kao rezultat zahteva
klijent prepoznaje vrstu rezultata (HTML kod, slika, PDF sadržaj, arhiva itd.)
rezultat se prikazuje klijentu na odgovarajući način
PHP datoteka, nalik na većinu skriptnih jezika, jednostavno sadrži skup naredbi, koje se izvršavaju jedna za drugom, od prve do poslednje, gde se poslednja ujedno smatra i krajem PHP programa.
PHP datoteke mogu da sadrže sledeće vrste elemenata
HTML oznake
Oznake za PHP
PHP naredbe
beline
komentare
Komande se završavaju ;
Ključne reči (komande), imena funkcija i
klasa nisu osetljiva na veličinu slova (case
insensitive) .
PROMENLJIVA: $broj ≠$BROJ
Imena promenljivih jesu osetljiva na
veličinu slova (case sensitive).
Funkcije: sort = SORT
PHP
osnovni
elementi
Komen-
tari
Prikaz
Promen-
ljive
OperatoriFunkcije
Objekti
Tag
Za komentar jedne linije - oznaka // ili # :
// komentar u jednoj liniji ...
Za komentar više redova - /* za početak bloka pod komentarom i */ za kraj bloka pod komentarom:
/* Komentar u više redova...Drugi red komentara…*/
Primer:<?phpecho “<b>Prvi red</b><br /><i>Drugi red</i>”;
?> Ili:<?phpecho “<b>Prvi red</b><br />”,”<i>Drugi red</i>”;
?> Rezultat oba primera:Prvi redDrugi red
Sadrže vrednosti koje program smešta u okviru memorije računara
Promenljivoj se dodeljuje:
◦ željeno ime
◦ vrednost
Tip promenljive ne mora da se specificira, određuje ga vrednost promenljive
Sve promenljive počinju sa $
Drugi znak je slovo ili _
Skalarni◦ boolean – logički tip◦ integer – celobrojni tip◦ float – racionalni tip◦ string – znakovni niz
Složeni◦ array - niz◦ object - objekat
Specijalni◦ resource - resurs◦ Null - ništa
Logički tip uzima vrednosti TRUE ili FALSE Celobrojni tip može biti decimalni, oktalni
(počinje sa 0) ili heksadecimalni (počinje sa 0x). Max vrednost zavisi od sistema a može da se odredi konstantnom PHP_INT_MAX
Racionalni tip ima razne oblike, npr.<?php
$a = 1.234; $b = 1.2e3; $c = 7E-10;?>
Mogu biti pod apostrofima (‘ab’) ili navodnicima (“ab”) Kada se koriste apostrofi navodnici se koriste za navodnike u tekstu i
obrnuto. Apostrof unutar apostrofa \’, slično za navodnike. Za duži tekst pod navodnicima, može se koristiti <<< sa nekom
promenljivom koja razgraničava tekst (nema razmaka posle EOT):$s=<<<EOTTextEOT; Za duži tekst pod apostrofima$s=<<<‘EOD’TextEOD; Primer:echo <<<EOTPrimer “dužeg” znakovnog niza koji može zauzimati i “veliki broj
redova” i ‘puno’ navodnika itd.EOT;
Primer:<?php $foo = "foobar";$a=2; echo ‘foo je $foo <br />’;echo “foo je $foo <br />”;Echo ‘a je $a <br />’;Echo “a je $a <br />”; ?> Rezultat:foo je $foo foo je foobara je $a a je 2
Sintaksa definisanja nizaImeNiza=array([indeks1=>]vrednost1, …) Indeksi mogu biti celi brojevi ili stringovi. Indeksi koji nisu
specificirani uzimaju vrednosti redom 0,1,2,... Primer<?php $niz=array("Aleks" => "9", "Sanja" =>8 , "Mirko" =>6);echo $niz['Aleks'], "<br />";echo “{$niz['Aleks']} <br />";echo $niz["Sanja"];?> Rezultat:998
Primer:
$familije=array
(“Popov”=>
array(“Branka”,”Dejan”),
”Popović”=>
array(“Mira”,”Maja”,”Radivoj”));
Objekti su slični kao kod JavaScript-a, ali se sintaksa razlikuje
Objekti se definišu klasama kojima pripadaju Klase imaju definisane atribute i metode Promenljive objekti se dobijaju instanciranjem
klase
Promenljive tipa resurs su pokazivači na složene eksterne promenljive
Primer su pokazivač na otvoren fajl ili na vezu sa bazom podataka
Promenljive tipa resurs se generišu različitim funkcijama u zavisnosti od primene
Kompajler automatski briše promenljive tipa resurs koje ne pokazuju na neki resurs
Vrednost NULL je
◦ tip podataka/vrednost koja se može dodeliti promenljivoj
◦ Pokazuje da promenljiva ne sadrži nikakvu korisnu vrednost
◦ Promenljiva sa vrednošću NULL ima takvu dodeljenu vrednost
◦ Vrednost “null” se dodeljuje promenljivoj kada se želi definisati da promenljiva ne sadrži nikakav podatak