Šta je PHP, zašto ga izabrati i istorija PHP-a

Šta je PHP?

Tekst ćemo početi pričom šta je PHP? On spada u grupu SSSL jezika (server side script language) tj. serverski orijentisanih skriptovnih jezika. Sada možda mislite da je PHP programski jezik. Međutim, tehnički govoreći, on to nije. U čemu se skriptni jezik razlikuje od programskog jezika? Razlika između njih je velika i linije kôda mogu biti malo mutne. Generalno gledano, možemo da uporedimo skriptni jezik sa programskim jezikom. Skriptni jezik se izvršava samo kada bude pozvan da izvrši neko dešavanje. Obično izvršava set instrukcija kroz stranicu od vrha ka dnu. Ima malo ili nimalo interakcija sa  korisnikom po  pokretanju događaja. Dakle,  PHP se ne pokreće dok ne dobije zahtev od korisnika tj. dok veb (web) strana nije pozvana. Zatim pokreće i prati instrukcije od vrha do dna strane i tu se završava sve dok ne bude izvršena neka akcija koja će ponovo pozvati skriptu. Sa druge strane, program se pokreće i bez odgovora na neku akciju, on radi i očekuje neku interakciju od strane korisnika.

Da li poziv dolazi od korisnika, izborom ili od drugog programa Ili unosa, program se pokreće non stop, takođe skače kroz instrukcije u kôdu, tako da nema čisto definisan kraj i početak izvršavanja i uključuje mnogo interakcija korisnika.

otošop (Photoshop) je dobar primer aplikacije. Nakon pokretanja programa, on nastavlja da radi i čeka Vašu narednu akciju da se ugasi (zatvori). Naredbe koje se izvršavaju nisu linearne. Kretanje kroz njega je definisano time šta želite da uradite u tom trenutku i, kao što sam rekao, linije kôda su „mutne“ , mnogo kompleksnije i liče na program.

Jednostavni programi su obično skripte, te bi se moglo reći da nema razlike. Međutim mi PHP nazivano skriptnim jezikom.  Sada šta znači kada kažemo da je PHP serverski orijentisan (server-side). Kada pričamo o server-sajdu i njegovoj suprotnosti klijent-sajdu (client-side – klijentski orijentisan) mi govorimo o tome gde se kôd izvršava. Da li se kôd izvršava na veb serveru (server-side) ili na korisnikovom računaru (client-side)?  Klijent-sajd, kada radimo sa veb stranama, je izvršavanje u pregledaču (browser) posetioca. Kao kontrast, “JavaScript” je još jedan veoma popularan skriptni jezik. ali se on izvršava isključivo u pregledaču korisnika (client-side).

“JavaScript” kôd je prosleđen na računar posetioca i izvršava se u njihovom pregledaču,  dok se PHP nikad ne šalje korisnicima. On se izvršava isključivo na serveru, a generisani rezultat se šalje u pregledač korisnika. Ovo je najbitnija razlika među njima. Pošto se PHP izvršava na serveru to znači da ne može da radi samostalno kao ostali programi.

Moramo imati instaliran veb server ako želimo da pokrenemo PHP skriptu. PHP ne treba da se kompajlira, već se izvršava na serveru onako kako je napisan, dok kod programskih jezika kao što su C, Java, … mora da se izvrši kompajliranje ili prevođenje kôda u drugi oblik kako bi se mogao koristiti.

Potrebno je da napišemo PHP kôd, postavimo ga negde gde ga server može pronaći i kada pozovemo tu veb stranicu, dobićemo rezultat. PHP je osmišljen tako da se koristi zajedno sa HTML-om. Može biti ugrađen (embedded) u HTML stranicu i možemo ga koristiti za generisanje HTML kôda. Na kraju PHP prosleđuje HTML kôd pregledaču. PHP kôd je naš ulaz, a veb stranica je naš izlazni rezultat. Pošto ste već upoznati sa HTML-om, poznajete ekstenzije .html i .htm, PHP  radi sa  njima ali ćemo mi na kraju staviti PHP-ekstenziju (.php).

PHP ekstenzija će odmah dati informaciju serveru da se u stranici nalazi PHP kôd koji mora biti izvršen. PHP pruža veću fleksibilnost za razliku od HTML-a. HTML stranice su po prirodi statične i svi posetioci vide stranicu na isti način, dok nam PHP omogućava da napravimo dinamične stranice i te stranice mogu biti izmenjene u zavisnosti od uslova kao što je interakcija sa posetiocima ili podaci smešteni u bazi podataka. Na PHP možete gledati kao na brzo punjenje HTML stranica. PHP sintaksa je veoma slična kao kod C, Java i Perla.

Ukoliko posedujete znanje nekog od gore pomenutih programskih jezika, biće vam lakše da shvatite i savladate PHP.

Istorija PHP-a?

Da bismo bolje shvatili šta PHP sada predstavlja, moramo da prođemo kroz istoriju njegovog razvoja.

Prva verzija PHP-a napisana je 1994. godine i napisao ju je Rasmus Lerdorf. Bio je to set CGI binarnih skripti napisan u C-jeziku kako bi zamenio Perl skripte koje je koristio za kreiranje svoje strane.

Druga verzija pojavila se 1995. godine i predstavljala je unapređenu originalnu verziju. To je ujedno bila prva javna verzija PHP-a i koristila je podatke koji su unošeni putem veb formulara. Na početku PHP je značio “Personal Home Page Tools” tj. PHP Tools, zato što je njegova primarna namena bila da upravlja svojom ličnom naslovnom stranom.

U trećoj verziji iz 1998. godine, PHP se dramatično promenio. U razvoj su se uključila još dva developera, Andi Gutmans i Zeev Suraski iz Tel Aviva. Njih dvojica su prepravila PHP između 1997. i 1998. godine, promenivši mu i naziv u “PHP:Hypertext preprocessor”. Treće izdanje PHP je rezultat koji i danas koristimo i ova verzija je bila prekretnica koja je popularizovala PHP.

Četvrta verzija koja se pojavila 2000. Godine, ponovo je donela značajne promene. Suraski osniva novu kompaniju pod nazivom ZEND, a ZEND je izmenio kompletno jezgro PHP-a. Postao je veoma popularan pošto je bio modularan i mogao je lako da se prilagodi različitim kôdovima koje su developeri napisali. U maju 2000. godine, objavljena je verzija koja je imala u nazivu “powered by Zend engine 1”.

Naposletku, imamo verziju 5 koja je objavljena jula 2004. godine koja je zasnovana na novom unapređenom jezgru “Zend engine 2”. Verzija 5 donosi veliki broj novina kao što su:

  • Bolje performanse
  • Unapređeno objektno-orijentisano programiranje
  • Bolja veza između baza podataka

Pored ovih zvaničnih verzija ima dosta podverzija. Trenutno aktuelna verzija je 5.5.6. Na ovom kursu koristićemo sve vezano za verzije 4 i 5. Postoje i najavljene verzije, ali u svim verzijama osnova je ista, samo dolazi do poboljsanja na polju bezbednosti, performansi i haj-teka za napredne korisnike.

Zašto izabrati PHP?

U ovom delu biće reči o tome zašto izabrati PHP pored drugih tehnologija.

Postoji veliki broj razloga zašto koristiti PHP. Prvi razlog jeste taj što ste shvatili kolika su ograničenja kod korišćenja HTML-a, i sada Vam je potrebno nešto više. PHP je takođe “open-source” i besplatan program. “Open-source” znači da je otvorenog kôda i dostupan je za edukaciju, unapređenje, modifikacije, tako da svako ko želi da nauči ili prilagodi sebi program to može učiniti i poslati na razmatranje, dok “besplatan” znači da možete potpuno besplatno da ga preuzmete i koristite se njime. Nema potrebe da se nešto poručuje, licencira, prave privilegovani korisnici, …

PHP je takođe “cross-platform” za razvoj, kreiranje i korišćenje. To znači da možemo da ga instaliramo na “windows server”, “mac server” ili linuks server, da istu skriptu napišemo i da koristimo bez ikakvih izmena i prilagođavanja. Ne zaboravite skripta korisniku šalje HTML kao rezultat tako da nije bitno koju platformu korisnik upotrebljava, niti je neophodno posedovati bilo kakav “plug in” instaliran u svom pregledaču da bi mogao da se pogleda naš veb sajt.

Učenjem PHP programiranja ne vezujete sebe za određen tip hardvera ili operativnog sistema. PHP je takođe moćan, robustan i skalabilan. Ovo nije bitno kada razvijate veb sajt, već kasnije u radu kako biste bili sigurni da Vas neće izneveriti kada dodje do povećanja saobraćaja i količine informacija. Bitno je da znate da to što je besplatan ne znači da je manje moćan ili ograničen, s obzirom da se najčešće očekuje  da je plaćeni program bolji.

Veliki portali kao što su “Facebook”, “Wikipedia”, “Google”, … koriste PHP. On je namenjen za veb development i napisan je u osnovi za to. Takođe je u potpunosti orijentisan na objektno-orijentisano programiranje od verzije 5, pa je bitno da znate neke mogućnosti koje možete da očekujete ako nastavite da se usavršavate na polju PHP programiranja. Takođe poseduje odličnu dokumentaciju na nekoliko svetskih jezika.

Pored svega pomenutog, ono što najviše izdvaja PHP jeste njegova  velika I aktivna razvojna zajednica. Preko 20 miliona veb sajtova koristi PHP. Gledajući prema popularnosti, PHP uvek zauzima vrh u TOP 10 listama svih programskih i skriptnih jezika., dok je konstantno u TOP 3 vezanih za veb razvoj. Zahvaljujući popularnosti i velikoj zajednici postoji značajan broj gotovih aplikacija koje su besplatne za korišćenje kao što su:

  • Joomla! (CMS)
  • WordPress (Blog)
  • Dupral (CMS)
  • Magento (eCommerce)
  • Media Wiki (wiki – enciklopedia)
  • PhpBB (Forum)

Učenem PHP-a bićete u mogućnosti da koristite ove alate za kreiranje veb sajtova, čak i da ih prilagodite svojim potrebama ili ih nadogradite.