Huvudskillnad: PHP ett server-sida skriptspråk som har sitt huvudsakliga genomförande i webbutveckling. Det kan dock användas som ett generellt programmeringsspråk. PHP4 och PHP5 är två versioner av PHP. PHP4 släpptes den 22 maj 2000. Den 13 juli 2004 släpptes PHP5. Den drivs av Zend Engine II. Det var en förbättring jämfört med PHP4 och inkluderade olika nya funktioner.
PHP är en öppen källkod, server-sida, HTML-inbäddad skriptspråk. Det kan i grund och botten utföra någon uppgift som andra CGI-program kan, men det används främst för att skapa dynamiska webbsidor. Dess främsta fördel är att den är kompatibel med många typer av databaser. Dessutom kan PHP prata över nätverk med hjälp av IMAP, SNMP, NNTP, POP3 eller HTTP.
PHP innehåller en kommandoradsgränssnittskompatibilitet och kan användas i fristående grafiska applikationer. PHP-kommandon kan inbäddas direkt i ett HTML-källdokument snarare än att ringa en extern fil för att behandla data. I HTML-dokumentet är PHP-skriptet inlagt i särskilda PHP-taggar. På grund av dessa taggar kan programmeraren växla mellan HTML och PHP istället för att behöva förlita sig på tunga mängder kod för att mata ut HTML. Eftersom PHP exekveras på servern kan klienten inte visa PHP-koden.
Den 13 juli 2004 släpptes PHP5. Den drivs av Zend Engine II. Det var en förbättring jämfört med PHP4 och inkluderade olika nya funktioner, till exempel förbättrat stöd för objektorienterad programmering, utvidgningen av PHP Data Objects (PDO) och många prestationsförbättringar. PDO-förlängningen definierar ett lätt och konsekvent gränssnitt för åtkomst till databaser. Sen statisk bindning tillsattes i version 5.3. PHP5 har också utformats för att vara bakåtkompatibel med tidigare versioner av PHP och bör därför leda till att liten funktionalitet bryts medan konvertering från PHP4 till PHP5.
Några skillnader mellan PHP4 och PHP5:
- PHP5 tog bort register_globals, magic quotes och säkert läge. Detta berodde på att register_globals hade öppnat säkerhetshål genom att avsiktligt tillåta runtime datainjicering och användningen av magiska citat hade en oförutsägbar natur.
- PHP4 drivs av Zend Engine 1.0, medan PHP5 drivs av Zend Engine II.
- PHP5 ersatte magiska citat med funktionen addslashes () för att flytta tecken.
- PHP4 är mer av ett procedurspråk medan PHP5 är objektorienterad.
- I PHP5 kan man deklarera en klass som abstrakt.
- PHP5 innehåller statiska metoder och egenskaper.
- PHP5 introducerar en speciell funktion som heter __autoload ()
- PHP5 tillåter en att deklarera en klass eller metod som Final
- PHP5 introducerar ett antal magiska metoder, som __call, __get, __set och __toString
- I PHP5 finns det 3 visibilitetsnivåer: Offentliga, privata och skyddade.
- PHP5 införde undantag.
- I PHP4 skickades allt av värde, inklusive objekt. I PHP5 skickas alla objekt genom referens.
- PHP5 introducerar gränssnitt. Alla metoder som definieras i ett gränssnitt måste vara offentliga.
- PHP5 introducerar ny felnivå definierad som "E_STRICT"
- PHP5 introducerar nya standardtillägg som SimpleXML, DOM och XSL, PDO och Hash.
- PHP5 introducerar nya funktioner.
- PHP5 introducerar några nya reserverade nyckelord.
- PHP5 innehåller ytterligare OOP-koncept än php4, som åtkomstspecifika, arv etc.
- PHP5 innehåller förbättrat stöd för nuvarande innehållshanteringssystem.
- PHP5 inkluderar minskad förbrukning av RAM.
- PHP5 introducerar ökad säkerhet mot exploatering av sårbarheter i PHP-skript.
- PHP5 introducerar enklare programmering genom nya funktioner och tillägg.
- PHP5 introducerar en ny MySQL-förlängning med namnet MySQLi för utvecklare som använder MySQL 4.1 och senare.
- I PHP5 har SQLite bjudits med PHP.
- PHP5 introducerar en helt ny inbyggd SOAP-förlängning för driftskompatibilitet med webbtjänster.
- PHP5 introducerar en ny SimpleXML-förlängning för att enkelt komma åt och manipulera XML som PHP-objekt. Det kan också kopplas till DOM-förlängningen och vice versa.
- I PHP5 har strömmar förbättrats avsevärt, inklusive möjligheten att få tillgång till lågnivåkontakter på strömmar.