Skripta iz predmeta internet tehnologije: php
SKRIPTA IZ PREDMETA INTERNET TEHNOLOGIJE
PHP
SADRŽAJ
PHP napredne funkcije za upravljanje greškama....................................................44
2

1 Uvod
Server - side skripting je web server tehnologija koja omogućava da se korisnički zahtevi
obrađuju pomoću skripti koje se izvršavaju na serverskoj strani kako bi se generisale
dinamičke stranice. Najčešće se koristi da bi se interaktivne web stranice povezale sa
bazama podataka, radi identifikacije korisnika, ažuriranja sadržaja, stvaranja raznih
diskusionih grupa i još zbog mnogo toga. Razlika između skriptovanja na serverskoj i
korisničkoj strani je u tome što se kod korisničke strane skripte izvršavaju u web browser-u
korisnika, najčešće pomoću
JavaScript
-a.
Najzastupljenije tehnike serverske strane :
Common Gateway Interface
Active Server Pages
Java Servlet i Java Server Pages
PHP
PHP je open source jezik koji se koristi za razvoj server-side aplikacija, kao i dinamičkog
Web sadržaja. PHP dozvoljava interakciju sa velikim brojem relacionih baza podataka kao
što su MySQL, Oracle, IBM D2, Microsoft SQL Server, PostgreSQL i SQLite. PHP radi na
većini operativnih sistema današnjice, kao što su UNIX, Linux, Windows i Mac OS i može da
interaguje sa većinom Web servera.
Personal Home Page Tools je predstavio PHP 1995. godine, a dve godine kasnije su razvoj
nastavila dva Izraelska programera. Od 1999. godine se zasniva na Zend engine-u. PHP je
prvo bio akronim za Personal Home Page Tools, da bi kasnije promenio naziv u Hypertext
Preprocessor.
PHP je stekao popularnost zbog svoje jednostavnosti i sintakse nasleđene iz programskog
jezika C. Tokom vremena jezik se proširivao i sticao mogućnosti za objektno orijentisano
programiranje, naročito od verzije 5.0. Nalikuje jeziku C++ u smislu da dozvoljava i čisto-
proceduralno programiranje ali omogućava i korišćenje klasa i drugih koncepata objektno
orijentisanog programiranja (nasleđivanje, apstraktne metode, interfejsi itd.).
Danas, PHP je instaliran na više od 20 miliona sajtova i preko million web servera. Poslednja
realizovana stabilna verzija je 5.3.0 iz juna 2009.god.
2 PHP OKRUŽENJE
Neke od osnovnih odrednica PHP – a su:
PHP je akronim za Hypertext Preprocessor
server – side skriptni programski jezik
skripte se izvršavaju na serveru
podržava rad sa različitim bazama podatama (MySQL, Informix, Oracle, Sybase,
Solid, PostgreSQL, Generic ODBC, itd.)
open source softver (OSS)
radi na različitim platformama (Windows, Linux, Unix i td.)
kompatibilan je sa skoro svim serverima koji se danas koriste (Apache, IIS, itd. )
4
lak je za učenje i efikasno funkcioniše na strani servera.
Za PHP fajlove, bitne su sledeće činjenice:
mogu da sadrže tekst, HTML tagove i skripte
vraćaju se klijentskom browser – u kao HTML tekst (
plain HTML
)
imaju ekstenziju: “.
php
”, “.
php3
” ili “.
phtml
”
Najpopularnija arhitektura u okviru koje se PHP koristi je WAMP
(Windows/Apache/MySQL/PERL/PHP). Windows je operativni sistem gde se instaliraju
ostali elementi pomenute arhitekture. Apache je open source Web server, tako da se i na
lokalnoj mašini uz pomoć Apache - a, može simulirati klijent/server okruženje. MySQL je
open source server baze podataka koji podržava SQL (
Structured Query Language
) i
idealan je kako za manje, tako i za veće baze podataka. Ako se PHP koristi u kombinaciji sa
MySQL – om može se napraviti multiplatformska aplikacija, što znači da se može razviti u
Windows okruženju, a da se potom koristi na npr. Unix mašinama.
PHP je bogat funkcijama za manipulisanje mnogo različitih tipova sadržaja. Od
manipulisanja grafikom (png, jpg, flash…) do loado-vanja .NET modula i rada sa XML-om
Da bi se implementirala pomenuta arhitektura, neophodno je uraditi sledeće:
Download Apache Web servera
(i njegova instalacija na lokalnoj mašini).
Download MySQL
, server baze podataka i njegova instalacija na lokalnoj mašini.
Download PHP
- i njegova instalacija na lokalnoj mašini.
Takođe treba napomenuti da je moguće gore navedene komponente skinuti u formi paketa
koji sadrže sve pomenute komponente. Najpoznatiji paketi tog tipa su: EasyPHP
, WAMP
XAMPP
.
Download i korišćenje ovih paketa je takođe besplatno.
Program koji se napiše u PHP-u ne zahteva prevođenje (kompajliranje), nego se interpretira
pri svakom izvršavanju. PHP interpreter može raditi po CGI principu, odnosno tako što će
interpreter postojati kao eksterna aplikacija koja se poziva da izvrši datu skriptu svaki put
kad bude zahtevana od nekog korisnika, a može biti instaliran i kao modul veb-servisa.
Druga varijanta je danas u najvećoj upotrebi jer pruža znatno veću brzinu izvršavanja -
interpreter je na taj način uvek učitan u memoriju te se ne mora pozivati spoljašnji program.
Uobičajen scenario po kom se izvršavaju PHP skripte na web serveru je sledeći:
klijent (korisnik Interneta koji koristi neki brauzer) 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 prikazuju klijentu na odgovarajući način
http://httpd.apache.org/download.cgi
http://www.mysql.com/downloads/index.html
http://www.php.net/downloads.php
http:///
http://www.apachefriends.org/en/
xampp
.html
5

Slika 2 Obrada zahteva za HTML stranicom
Server-side obrada omogućava:
Smanjuje količinu saobraćaja između server i klijenta
Otklanja problem kompatibilnosti browser-a
Obezbeđuje različite tipove informacija za klijente
Poboljšava sigurnost aplikacije
Možda bi bilo najbolje malo detaljnije razmotriti razlike između njih na jednom trivijalnom
primeru. Neka je na primer, potrebno napisati skriptu koja prikazuje tačno vreme negde na
stranici. Iako ovo zvuči kao vrlo trivijalan i lagan primer, gotovo ga je nemoguće izvesti.
Zašto? Prvo pitanje koje treba postaviti je 'Koje je vreme tačno vreme?'. Ono na serveru ili
ono na klijentovom računaru? Ove dve skripte će retko kada prikazati isti rezultat.
Primer 1 – prikaz vremena kod klijenta
<
html
>
<
head
>
<
script
language
="
JavaScript
"
>
var
v
=
new
Date
()
document
.
write
(
v
.
getHours
())
document
.
write
(
":"
)
document
.
write
(
v
.
getMinutes
())
document
.
write
(
":"
)
document
.
write
(
v
.
getSeconds
())
</
script
>
</
head
>
<
body
>
</
body
>
</
html
>
7
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti