Hovedforskjell: PHP et server-side skriptspråk som har sin viktigste implementering i webutvikling. Det kan imidlertid brukes som et generelt programmeringsspråsmål. PHP4 og PHP5 er to versjoner av PHP. PHP4 ble utgitt 22. mai 2000. Den 13. juli 2004 ble PHP5 utgitt. Den ble drevet av Zend Engine II. Det var en forbedring over PHP4 og inkluderte ulike nye funksjoner.
PHP er en åpen kildekode, server-side, HTML-innebygd skriptspråk. Det kan i utgangspunktet utføre noen oppgaver som andre CGI-programmer kan, men det brukes hovedsakelig til å lage dynamiske websider. Den største fordelen er at den er kompatibel med mange typer databaser. Videre kan PHP snakke over nettverk ved hjelp av IMAP, SNMP, NNTP, POP3 eller HTTP.
PHP inkluderer en kommandolinje-grensesnitt og kan brukes i frittstående grafiske applikasjoner. PHP-kommandoer kan legges inn direkte i et HTML-kildedokument i stedet for å kalle en ekstern fil for å behandle data. I HTML-dokumentet er PHP-skriptet vedlagt i spesielle PHP-koder. På grunn av disse kodene kan programmereren alternere mellom HTML og PHP i stedet for å stole på tunge mengder kode for å skrive ut HTML. Også, da PHP utføres på serveren, kan ikke klienten vise PHP-koden.
Den 13. juli 2004 ble PHP5 utgitt. Den ble drevet av Zend Engine II. Det var en forbedring over PHP4 og inkluderte ulike nye funksjoner, for eksempel forbedret støtte for objektorientert programmering, utvidelsen av PHP Data Objects (PDO) og en rekke ytelsesforbedringer. PDO-utvidelsen definerer et lett og konsekvent grensesnitt for tilgang til databaser. Sen statisk binding ble tilsatt i versjon 5.3. PHP5 ble også designet for å være bakoverkompatibel med tidligere versjoner av PHP, og dermed skulle det føre til at lite funksjonalitet blir ødelagt mens konverteringen fra PHP4 til PHP5.
Noen forskjeller mellom PHP4 og PHP5:
- PHP5 fjernet register_globals, magiske sitater og sikker modus. Dette skyldtes det faktum at register_globals hadde åpnet sikkerhetshull ved forsettlig tillatelse av kjøretidsdatainjeksjon og bruken av magiske sitater hadde en uforutsigbar natur.
- PHP4 ble drevet av Zend Engine 1.0, mens PHP5 ble drevet av Zend Engine II.
- PHP5 erstattet magiske sitater med addslashes () -funksjonen for å unnslippe tegn.
- PHP4 er mer et prosesspråk, mens PHP5 er objektorientert.
- I PHP5 kan man erklære en klasse som Abstrakt.
- PHP5 inneholder statiske metoder og egenskaper.
- PHP5 introduserer en spesiell funksjon kalt __autoload ()
- PHP5 tillater en å deklarere en klasse eller metode som endelig
- PHP5 introduserer en rekke magiske metoder, som __call, __get, __set og __toString
- I PHP5 er det tre nivåer av visibilitet: Offentlig, privat og beskyttet.
- PHP5 introduserte unntak.
- I PHP4 ble alt passert av verdi, inkludert objekter. Mens i PHP5 er alle objekter sendt ved referanse.
- PHP5 introduserer grensesnitt. Alle metodene som er definert i et grensesnitt, må være offentlige.
- PHP5 introduserer nytt feilnivå definert som 'E_STRICT'
- PHP5 introduserer nye standardutvidelser som SimpleXML, DOM og XSL, PDO og Hash.
- PHP5 introduserer nye funksjoner.
- PHP5 introduserer noen nye reserverte søkeord.
- PHP5 inneholder flere OOP-konsepter enn php4, som tilgangspesifikasjoner, arv etc.
- PHP5 inkluderer forbedret støtte for dagens innholdsadministrasjonssystemer.
- PHP5 inkluderer redusert forbruk av RAM.
- PHP5 introduserer økt sikkerhet mot utnyttelse av sårbarheter i PHP-skript.
- PHP5 introduserer enklere programmering gjennom nye funksjoner og utvidelser.
- PHP5 introduserer en ny MySQL-utvidelse kalt MySQLi for utviklere som bruker MySQL 4.1 og nyere.
- I PHP5 har SQLite blitt buntet med PHP.
- PHP5 introduserer en helt ny innebygd SOAP-utvidelse for interoperabilitet med Web Services.
- PHP5 introduserer en ny SimpleXML-utvidelse for enkelt å få tilgang til og manipulere XML som PHP-objekter. Det kan også grensesnittet med DOM-utvidelsen og omvendt.
- I PHP5 har strømmer blitt sterkt forbedret, inkludert muligheten til å få tilgang til lavt nivå socket operasjoner på bekker.