A PHP (PHP: Hypertext Preprocessor) egy nyílt forráskódú,
számítógépes szkriptnyelv, legfőbb felhasználási területe a dinamikus
weboldalak készítése. Emiatt a PHP-t jórészt szerver-oldalon
használják, bár létezik parancssori interfésze is, illetve önálló,
grafikus felületű alkalmazások is létrehozhatóak vele.[1]
A nyelvet eredetileg Rasmus Lerdorf alkotta meg 1994-ben, de a ma létező egyetlen (és hivatalos specifikáció híján de facto szabvánnyá vált) PHP implementációt már a PHP Group tartja karban és
fejleszti. A PHP a saját licensze alatt kerül kiadásra, a Free Software
Foundation így szabad szoftverként tartja számon.[2]
A
PHP a legtöbb webszerverre, operációs rendszerre és platformra
ingyenesen telepíthető. Manapság több mint 20 millió weboldal és
egymillió szerver futtat PHP-t, bár a nyelvet használó oldalak száma
2005 augusztusától kezdve folyamatosan csökken. A PHP emellett az
Apache webszerver egyik legnépszerűbb beépülő modulja.
A PHP legfrissebb változata az 5.2.6 verziószámú, amely 2008. május 1-jén jelent meg.
A PHP fejlődése kezdetén csak CGI-programok halmaza volt. Ezeket Lerdorf néhány Perl szkript lecserélésére írta, amelyeket honlapjának
karbantartására (például önéletrajzának megjelenítésére és a
látogatottság mérésére) használt. Később ezeket a programokat
kombinálta a szintén általa írt Form Interpreter (űrlap-értelmező) alkalmazással - így jött létre a PHP/FI,
ami már jóval szélesebb funkcionalitással bírt. Az új, C nyelven megírt
változat képes volt adatbázisokhoz kapcsolódni és segítségével egyszerű
dinamikus weboldalakat is létre lehetett hozni. Lerdorf 1995. június
8-án adta ki a PHP első nyilvános változatát, hogy külső segítséggel
gyorsabbá tegye a hibák megtalálását és a kód további fejlesztését. Az
új verziót PHP 2-nek nevezte el és már megtalálhatóak voltak
benne a mai PHP alapvető tulajdonságai: a Perl-éhez hasonló változók,
az űrlapok kezelése és a HTML-kód beszúrásának lehetősége. A PHP
szintaktikája is hasonló volt a Perl-éhez, de annál jóval korlátoltabb,
egyszerűbb és kevésbé egységes volt.
1997-ben Zeev Suraski és Andi Gutmans, két izraeli fejlesztő újraírta az értelmezőt, ezzel megteremtve a PHP 3 alapját - ekkor született meg a PHP új neve, a PHP: Hypertext Preprocessor rekurzív rövidítés is. A fejlesztőcsapat 1997 novemberében, két
hónapnyi béta-tesztelés után kiadta a PHP/FI 2-t, majd megkezdődhetett
a PHP 3 tesztelése és végül megjelenése 1998 júniusában. Suraski és
Gutmans ekkor megint a PHP-mag újraírása mellett döntött, amiből
1999-ben megszületett a Zend Engine. A két fejlesztő ekkor alapította meg a Zend Technologies-t is, ami máig aktívan ellenőrzi a PHP fejlesztését.
A Zend Engine 1.0 által hajtott PHP 4 2000. május 4-én jelent meg. Ezt követte 2004. július 13-án a következő nagy mérföldkőnek számító, az új Zend Engine II-n alapuló PHP 5. Az ötös verzió sok újítást tartalmazott: fejlettebb objektum-orientált programozási lehetőségeket, a PDO (PHP Data Objects) adatbázis-absztrakciós kiterjesztést, és sok teljesítményt növelő javítást is.
A
PHP 4 fejlesztése 2007 végén maradt abba, az utolsó megjelent verziója
a 4.4.8 verziószámot viselte - a PHP Group ezekhez és a PHP 4 előző
változataihoz 2008 augusztusáig biztosít biztonsági frissítéseket.
Jelenleg a PHP 5 a nyelv egyetlen aktívan fejlesztett verziója. A hatos
verzió bár már fejlesztés alatt áll, még nem jelent meg. 2008. február
4-étől A GoPHP5 kezdeményezés keretében több vezető PHP-alapú
szabad-szoftver projekt döntött a PHP 4-támogatás megszüntetése
mellett, hogy ezzel mozdítsák előre az ötös verzióra való áttérés
folyamatát.
A PHP oldalak elkészítésénél a
HTML-t gyakorlatilag csak mint formázást használják, ugyanis ezen lapok
teljes funkcionalitása a PHP-re épül. Amikor egy PHP-ben megírt oldalt
akarunk elérni, a kiszolgáló először feldolgozza a PHP utasításokat, és
csak a kész (HTML) kimenetet küldi el a böngészőnek, így a programkód
nem is látható kliens oldalról. Ehhez egy ún. interpretert (értelmezőt)
használ, amely általában egy külső modulja a webszervernek.
A
PHP nyelv lényegében nagymértékű kiegészítése a HTML-nek, ugyanis
rengeteg olyan feladat végezhető el vele, amelyre az ügyféloldali
szkriptek nem képesek (vagy ha igen, korlátozottan). Ilyen pl. a
bejelentkezés, az adatbáziskezelés, filekezelés, kódolás,
adategyeztetés, kapcsolatok létrehozása, e-mail küldése,
adatfeldolgozás, dinamikus listakészítés stb. Minden olyan esetben,
ahol nagyszámú ismétlődő feladatsort kell végrehajtani (pl. képek
listázása és linkelése, listakészítés stb.), ott ez a programnyelv
nagyszerű segítség.
A PHP programok futhatnak közönséges (parancssori) programként is, nem HTML oldalba építve. Ezt azonban ritkán használják.
A PHP törnénete:
A PHP fejlődése kezdetén csak CGI-programok halmaza volt. Ezeket
Lerdorf néhány Perl szkript lecserélésére írta, amelyeket honlapjának
karbantartására (például önéletrajzának megjelenítésére és a
látogatottság mérésére) használt. Később ezeket a programokat
kombinálta a szintén általa írt Form Interpreter (űrlap-értelmező) alkalmazással - így jött létre a PHP/FI,
ami már jóval szélesebb funkcionalitással bírt. Az új, C nyelven megírt
változat képes volt adatbázisokhoz kapcsolódni és segítségével egyszerű
dinamikus weboldalakat is létre lehetett hozni. Lerdorf 1995. június
8-án adta ki a PHP első nyilvános változatát, hogy külső segítséggel
gyorsabbá tegye a hibák megtalálását és a kód további fejlesztését. Az
új verziót PHP 2-nek nevezte el és már megtalálhatóak voltak
benne a mai PHP alapvető tulajdonságai: a Perl-éhez hasonló változók,
az űrlapok kezelése és a HTML-kód beszúrásának lehetősége. A PHP
szintaktikája is hasonló volt a Perl-éhez, de annál jóval korlátoltabb,
egyszerűbb és kevésbé egységes volt.
1997-ben Zeev Suraski és Andi Gutmans, két izraeli fejlesztő újraírta az értelmezőt, ezzel megteremtve a PHP 3 alapját - ekkor született meg a PHP új neve, a PHP: Hypertext Preprocessor rekurzív rövidítés is. A fejlesztőcsapat 1997 novemberében, két
hónapnyi béta-tesztelés után kiadta a PHP/FI 2-t, majd megkezdődhetett
a PHP 3 tesztelése és végül megjelenése 1998 júniusában. Suraski és
Gutmans ekkor megint a PHP-mag újraírása mellett döntött, amiből
1999-ben megszületett a Zend Engine. A két fejlesztő ekkor alapította meg a Zend Technologies-t is, ami máig aktívan ellenőrzi a PHP fejlesztését.
A Zend Engine 1.0 által hajtott PHP 4 2000. május 4-én jelent meg. Ezt követte 2004. július 13-án a következő nagy mérföldkőnek számító, az új Zend Engine II-n alapuló PHP 5. Az ötös verzió sok újítást tartalmazott: fejlettebb objektum-orientált programozási lehetőségeket, a PDO (PHP Data Objects) adatbázis-absztrakciós kiterjesztést, és sok teljesítményt növelő javítást is.
A
PHP 4 fejlesztése 2007 végén maradt abba, az utolsó megjelent verziója
a 4.4.8 verziószámot viselte - a PHP Group ezekhez és a PHP 4 előző
változataihoz 2008 augusztusáig biztosít biztonsági frissítéseket.
Jelenleg a PHP 5 a nyelv egyetlen aktívan fejlesztett verziója. A hatos
verzió bár már fejlesztés alatt áll, még nem jelent meg. 2008. február
4-étől A GoPHP5 kezdeményezés keretében több vezető PHP-alapú
szabad-szoftver projekt döntött a PHP 4-támogatás megszüntetése
mellett, hogy ezzel mozdítsák előre az ötös verzióra való áttérés
folyamatát.
A PHP működése, leegyszerűsítve
A
PHP oldalak elkészítésénél a HTML-t gyakorlatilag csak mint formázást
használják, ugyanis ezen lapok teljes funkcionalitása a PHP-re épül.
Amikor egy PHP-ben megírt oldalt akarunk elérni, a kiszolgáló először
feldolgozza a PHP utasításokat, és csak a kész (HTML) kimenetet küldi
el a böngészőnek, így a programkód nem is látható kliens oldalról.
Ehhez egy ún. interpretert (értelmezőt) használ, amely általában egy
külső modulja a webszervernek.
A PHP
nyelv lényegében nagymértékű kiegészítése a HTML-nek, ugyanis rengeteg
olyan feladat végezhető el vele, amelyre az ügyféloldali szkriptek nem
képesek (vagy ha igen, korlátozottan). Ilyen pl. a bejelentkezés, az
adatbáziskezelés, filekezelés, kódolás, adategyeztetés, kapcsolatok
létrehozása, e-mail küldése, adatfeldolgozás, dinamikus listakészítés
stb. Minden olyan esetben, ahol nagyszámú ismétlődő feladatsort kell
végrehajtani (pl. képek listázása és linkelése, listakészítés stb.),
ott ez a programnyelv nagyszerű segítség.
A PHP programok futhatnak közönséges (parancssori) programként is, nem HTML oldalba építve. Ezt azonban ritkán használják.