Galvenā atšķirība: PHP servera puses skriptu valoda, kurai ir galvenā izpilde tīmekļa izstrādē. Tomēr to var izmantot kā vispārējas nozīmes programmēšanas valodu. PHP4 un PHP5 ir divas PHP versijas. PHP4 tika izlaists 2000. gada 22. maijā. 2004. gada 13. jūlijā tika izlaista PHP5. To darbina Zend Engine II. Tas bija uzlabojums salīdzinājumā ar PHP4 un iekļāva dažādas jaunas funkcijas.
PHP ir atvērtā koda, servera puses, HTML iegultā skriptu valoda. Pamatā tas var veikt jebkuru uzdevumu, ko var veikt citas CGI programmas, bet to galvenokārt izmanto, lai izveidotu dinamiskas Web lapas. Tās galvenā priekšrocība ir tā, ka tā ir saderīga ar daudzu veidu datu bāzēm. Turklāt PHP var runāt dažādos tīklos, izmantojot IMAP, SNMP, NNTP, POP3 vai HTTP.
PHP ietver komandrindas saskarnes iespējas un to var izmantot atsevišķos grafiskos lietojumos. PHP komandas var ievietot tieši HTML avota dokumentā, nevis izsaukt ārējo failu, lai apstrādātu datus. HTML dokumentā PHP skripts ir iekļauts īpašos PHP tagos. Šo tagu dēļ programmētājs var aizstāt HTML un PHP, nevis izmantot lielus koda daudzumus, lai izvadītu HTML. Tāpat, tā kā PHP tiek izpildīts serverī, klients nevar apskatīt PHP kodu.
2004. gada 13. jūlijā tika izlaista PHP5. To darbina Zend Engine II. Tas bija uzlabojums salīdzinājumā ar PHP4 un iekļāva dažādas jaunas funkcijas, piemēram, uzlabotu atbalstu objektu orientētai programmēšanai, PHP datu objektu (PDO) paplašinājumu un daudzus veiktspējas uzlabojumus. ACVN paplašinājums definē vieglu un konsekventu saskarni, lai piekļūtu datu bāzēm. Novēlota statiskā saistība tika pievienota versijā 5.3. PHP5 tika izstrādāts arī tā, lai tas būtu savietojams ar iepriekšējām PHP versijām, un līdz ar to būtu jāsamazina maz funkcionalitāte, pārvēršoties no PHP4 uz PHP5.
Dažas atšķirības starp PHP4 un PHP5:
- PHP5 noņemta register_globals, burvju cenas un drošais režīms. Tas bija saistīts ar faktu, ka register_globals bija atvēris drošības caurumus, apzināti ļaujot veikt runtime datu ievadīšanu, un burvju citātu izmantošana bija neparedzama.
- PHP4 darbina Zend Engine 1.0, savukārt PHP5 darbina Zend Engine II.
- PHP5 aizstāja burvju kotējumus ar funkciju addslashes (), lai izvairītos no rakstzīmēm.
- PHP4 ir vairāk par procedūras valodu, kamēr PHP5 ir objektorientēta.
- PHP5 var pasludināt klasi kā abstraktu.
- PHP5 ietver statiskas metodes un īpašības.
- PHP5 ievieš īpašu funkciju, ko sauc par __autoload ()
- PHP5 ļauj atzīt klasi vai metodi kā galīgo
- PHP5 ievieš vairākas burvju metodes, piemēram, __call, __get, __set un __toString
- PHP5 ir 3 redzamības līmeņi: publiski, privāti un aizsargāti.
- PHP5 ieviesa izņēmumus.
- PHP4, viss tika nodots pēc vērtības, ieskaitot objektus. Tā kā PHP5, visi objekti tiek nodoti pēc atsauces.
- PHP5 ievieš saskarnes. Visām saskarnē definētajām metodēm jābūt publiskām.
- PHP5 ievieš jaunu kļūdu līmeni, kas definēts kā “E_STRICT”
- PHP5 ievieš jaunus noklusējuma paplašinājumus, piemēram, SimpleXML, DOM un XSL, ACVN un Hash.
- PHP5 ievieš jaunas funkcijas.
- PHP5 ievieš dažus jaunus rezervētus atslēgvārdus.
- PHP5 ietver papildu OOP koncepcijas nekā php4, piemēram, piekļuves specifikācijas, mantojums utt.
- PHP5 ietver labāku pašreizējo satura vadības sistēmu atbalstu.
- PHP5 ietver samazinātu RAM patēriņu.
- PHP5 ievieš lielāku drošību pret PHP skriptu ievainojamību.
- PHP5 ievieš vieglāku programmēšanu, izmantojot jaunas funkcijas un paplašinājumus.
- PHP5 ievieš jaunu MySQL paplašinājumu ar nosaukumu MySQLi izstrādātājiem, kuri izmanto MySQL 4.1 un jaunāku versiju.
- PHP5 versijā SQLite ir pievienots PHP.
- PHP5 ievieš pavisam jaunu iebūvētu SOAP paplašinājumu, lai sadarbotos ar Web Services.
- PHP5 ievieš jaunu SimpleXML paplašinājumu, lai viegli piekļūtu un apstrādātu XML kā PHP objektus. Tā var arī saskarties ar DOM paplašinājumu un otrādi.
- PHP5, straumes ir ievērojami uzlabojušās, ieskaitot spēju piekļūt zema līmeņa kontaktligzdu operācijām plūsmās.