Diferență cheie: PHP un limbaj de scripting de la server care are implementarea principală în dezvoltarea web. Cu toate acestea, poate fi folosit ca limbaj de programare cu scop general. PHP4 și PHP5 sunt două versiuni ale PHP. PHP4 a fost lansat pe 22 mai 2000. La 13 iulie 2004, PHP5 a fost lansat. A fost alimentat de Zend Engine II. A fost o îmbunătățire față de PHP4 și a inclus diverse caracteristici noi.
PHP este un limbaj de scripting încorporat în sistem open source, pe partea de server și HTML. Acesta poate efectua orice sarcină pe care alte programe CGI o poate, dar este folosită în principal pentru a crea pagini Web dinamice. Principalul său avantaj este că este compatibil cu multe tipuri de baze de date. În plus, PHP poate vorbi în rețele folosind IMAP, SNMP, NNTP, POP3 sau HTTP.
PHP include o capabilitate de interfață de comandă și poate fi utilizată în aplicații grafice separate. Comenzile PHP pot fi încorporate direct într-un document HTML sursă, în loc să apeleze un fișier extern pentru procesarea datelor. În documentul HTML, scriptul PHP este inclus în etichetele PHP speciale. Datorită acestor etichete, programatorul poate alterna între HTML și PHP în loc să fie nevoit să se bazeze pe cantități mari de cod pentru a ieși în HTML. De asemenea, deoarece PHP este executat pe server, clientul nu poate vizualiza codul PHP.
Pe 13 iulie 2004, PHP5 a fost lansat. A fost alimentat de Zend Engine II. A fost o îmbunătățire față de PHP4 și a inclus diverse caracteristici noi, precum suport îmbunătățit pentru programarea orientată pe obiecte, extensia PHP Data Objects (PDO) și numeroase îmbunătățiri de performanță. Extensia PDO definește o interfață ușoară și consistentă pentru accesarea bazelor de date. Legarea statică târzie a fost adăugată în versiunea 5.3. PHP5 a fost, de asemenea, proiectat pentru a fi compatibil cu versiunile anterioare ale PHP și, prin urmare, ar trebui să ducă la ruperea funcționalității mici în timpul convertirii de la PHP4 la PHP5.
Unele diferențe între PHP4 și PHP5:
- PHP5 a eliminat register_globals, citate magice și modul sigur. Acest lucru sa datorat faptului că register_globals a deschis găuri de securitate, permițând în mod intentionat injectarea de date de rulare, iar utilizarea citatelor magice a avut un caracter imprevizibil.
- PHP4 a fost alimentat de Zend Engine 1.0, în timp ce PHP5 a fost alimentat de Zend Engine II.
- PHP5 a înlocuit citatele magice cu funcția addslashes () pentru a scăpa de caractere.
- PHP4 este mai mult o limbă de procedură, în timp ce PHP5 este orientat obiect.
- În PHP5 se poate declara o clasă ca Rezumat.
- PHP5 încorporează metode și proprietăți statice.
- PHP5 introduce o funcție specială numită __autoload ()
- PHP5 permite să declare o clasă sau o metodă ca fiind finală
- PHP5 introduce o serie de metode magice, precum __call, __get, __set și __toString
- În PHP5 există 3 niveluri de vizibilități: Public, privat și protejat.
- PHP5 a introdus excepții.
- În PHP4, totul a fost trecut prin valoare, inclusiv obiecte. În timp ce în PHP5, toate obiectele sunt transmise prin referință.
- PHP5 introduce interfețe. Toate metodele definite într-o interfață trebuie să fie publice.
- PHP5 introduce un nou nivel de eroare definit ca "E_STRICT"
- PHP5 introduce noi extensii implicite, cum ar fi SimpleXML, DOM și XSL, PDO și Hash.
- PHP5 introduce noi funcții.
- PHP5 introduce câteva cuvinte cheie rezervate noi.
- PHP5 include concepte OOP suplimentare decât php4, cum ar fi specificatorii de acces, moștenirea etc.
- PHP5 include suport îmbunătățit pentru sistemele actuale de gestionare a conținutului.
- PHP5 include consum redus de memorie RAM.
- PHP5 introduce o securitate sporită împotriva exploatării vulnerabilităților în scripturile PHP.
- PHP5 introduce programarea mai ușoară prin noi funcții și extensii.
- PHP5 introduce o nouă extensie MySQL numită MySQLi pentru dezvoltatori care utilizează MySQL 4.1 și mai târziu.
- În PHP5, SQLite a fost asociat cu PHP.
- PHP5 introduce o nouă extensie SOAP încorporată pentru interoperabilitate cu serviciile Web.
- PHP5 introduce o nouă extensie SimpleXML pentru a accesa cu ușurință și manipula XML ca obiecte PHP. De asemenea, poate interfața cu extensia DOM și invers.
- În PHP5, fluxurile au fost mult îmbunătățite, inclusiv posibilitatea de a accesa operațiunile socket-urilor la nivel scăzut în fluxuri.