Ključna razlika: PHP skriptni jezik na strani strežnika, ki ima glavno izvedbo v razvoju spletnih strani. Lahko pa se uporablja kot programski jezik za splošne namene. PHP4 in PHP5 sta dve različici PHP. PHP4 je izšel 22. maja 2000. 13. julija 2004 je bil izdan PHP5. Poganjal jo je Zend Engine II. To je bilo izboljšanje v primerjavi s PHP4 in je vključevalo različne nove funkcije.
PHP je odprtokodni, na strani strežnika, HTML vgrajeni skriptni jezik. V osnovi lahko opravlja katero koli nalogo, ki jo lahko imajo drugi programi CGI, vendar se v glavnem uporablja za ustvarjanje dinamičnih spletnih strani. Njegova glavna prednost je, da je združljiva z mnogimi vrstami podatkovnih baz. Poleg tega lahko PHP govori v omrežjih z uporabo IMAP, SNMP, NNTP, POP3 ali HTTP.
PHP vključuje zmožnost vmesnika ukazne vrstice in se lahko uporablja v samostojnih grafičnih aplikacijah. Ukaze PHP lahko vdelate neposredno v izvorni dokument HTML in ne kličete zunanje datoteke za obdelavo podatkov. V dokumentu HTML je skript PHP zaprt v posebne oznake PHP. Zaradi teh oznak lahko programer preklaplja med HTML in PHP, namesto da bi se moral zanašati na velike količine kode za izpis HTML-ja. Ker se PHP izvaja na strežniku, odjemalec ne more videti kode PHP.
13. julija 2004 je bil izdan PHP5. Poganjal jo je Zend Engine II. To je bilo izboljšanje v primerjavi s PHP4 in je vključevalo različne nove funkcije, kot je izboljšana podpora za objektno usmerjeno programiranje, razširitev PHP podatkovnih objektov (PDO) in številne izboljšave učinkovitosti. Podaljšanje PDO definira lahek in dosleden vmesnik za dostop do baz podatkov. Pozna statična vezava je bila dodana v različici 5.3. PHP5 je bil tudi zasnovan tako, da je nazaj združljiv s starejšimi različicami PHP-ja in bi zato moral povzročiti, da se pri pretvarjanju iz PHP4 v PHP5 pokvari malo funkcionalnosti.
Nekatere razlike med PHP4 in PHP5:
- PHP5 je odstranil register_globals, čarobne navedbe in varen način. To je bilo posledica dejstva, da je register_globals odprl varnostne luknje tako, da je namerno dovolil vbrizgavanje podatkov o času izvajanja in uporaba čarobnih citatov je imela nepredvidljivo naravo.
- PHP4 je poganjal Zend Engine 1.0, PHP5 pa Zend Engine II.
- PHP5 je nadomestil čarobne citate s funkcijo addslashes (), da bi se izognili znakom.
- PHP4 je bolj proceduralni jezik, medtem ko je PHP5 objektno usmerjen.
- V PHP5 lahko razred razglasimo kot povzetek.
- PHP5 vključuje statične metode in lastnosti.
- PHP5 uvaja posebno funkcijo, imenovano __autoload ()
- PHP5 dovoljuje, da razred ali metodo razglasi za končno
- PHP5 uvaja številne čarobne metode, kot so __call, __get, __set in __toString
- V PHP5 obstajajo 3 ravni vidljivosti: javna, zasebna in zaščitena.
- PHP5 je uvedel izjeme.
- V PHP4 je bilo vse posredovano po vrednosti, vključno z objekti. Medtem ko so v PHP5 vsi predmeti posredovani z referenco.
- PHP5 uvaja vmesnike. Vse metode, definirane v vmesniku, morajo biti javne.
- PHP5 uvaja novo stopnjo napak, opredeljeno kot »E_STRICT«
- PHP5 uvaja nove privzete razširitve, kot so SimpleXML, DOM in XSL, PDO in Hash.
- PHP5 uvaja nove funkcije.
- PHP5 uvaja nekaj novih rezerviranih ključnih besed.
- PHP5 vključuje dodatne koncepte OOP-ja kot php4, kot so specifikacije dostopa, dedovanje itd.
- PHP5 vključuje izboljšano podporo obstoječih sistemov za upravljanje vsebin.
- PHP5 vključuje zmanjšano porabo RAM-a.
- PHP5 uvaja večjo varnost pred izkoriščanjem ranljivosti v PHP skriptih.
- PHP5 uvaja lažje programiranje preko novih funkcij in razširitev.
- PHP5 uvaja novo razširitev MySQL z imenom MySQLi za razvijalce, ki uporabljajo MySQL 4.1 in novejše različice.
- V PHP5 je SQLite povezan s PHP-jem.
- PHP5 uvaja povsem novo vgrajeno SOAP razširitev za interoperabilnost s spletnimi storitvami.
- PHP5 uvaja novo razširitev SimpleXML za enostaven dostop in manipuliranje XML kot objektov PHP. Lahko se poveže tudi s podaljškom DOM in obratno.
- V PHP5 so bili tokovi močno izboljšani, vključno s sposobnostjo dostopa do operacij nizke vtičnice na tokih.