PHP
A Wikipédiából, a szabad enciklopédiából.
- A PHP rövidítés egyben a fülöp-szigeteki peso valutakódja.
| Paradigma: | imperatív, objektum-orientált |
|---|---|
| Megjelenés: | 1995 |
| Tervezte: | Rasmus Lerdorf |
| Fejlesztő: | The PHP Group |
| Utolsó kiadása: | 5.2.6 / 2008. május 1. |
| Típusosság: | dinamikus, gyenge |
| Fordítóprogram: | nincs (értelmezett szkriptnyelv) |
| Kiindulási nyelv: | Perl |
| Operációs rendszer: | platformfüggetlen |
| Licenc: | PHP License |
| Weboldal: | www.php.net |
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.
Tartalomjegyzék |
[szerkesztés] Törté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.
[szerkesztés] 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.
[szerkesztés] Verziók
| Verziók | Kiadás | Megjegyzés |
|---|---|---|
| PHP 1.0 | 1995 | Eredeti nevén PHP Tools (Personal Home Page Tools). A „PHP” név első használata. |
| PHP Version 2 (PHP/FI) | 1996 | Alkotója szerint a legegyszerűbb eszköz dinamikus weboldalak készítésére. |
| PHP 3.0 | 1998 | A fejlesztés csapatmunkává vált. Zeev Suraski és Andi Gutmans újraírták a rendszer alapját. |
| PHP 4.0 | 2000 | Megjelent az új parancsértelmező mag, a Zend Engine |
| PHP 4.1 | 2001 | Megjelentek a szuperglobális változók, tömbök ($_GET, $_POST, $_SESSION, stb.) |
| PHP 4.2 | 2002 | A register_globals környezeti változó alapértelmezésben kikapcsolt értéket vett fel |
| PHP 4.3 | 2002 | CGI mód mellett már lehetőség van a CLI, azaz parancssori futtatásra is |
| PHP 4.4 | 2005 | |
| PHP 5.0 | 2004 | Megjelenik a Zend Engine II, teljesen új objektumorientált lehetőségekkel |
| PHP 5.1 | 2005 | |
| PHP 5.2 | 2006 | A filter kiterjesztés alapértelmezésben be van állítva |
[szerkesztés] Dokumentáció
PHP, mint kiszolgáló-oldali programozási nyelv, dokumentációja (kézikönyve) magyarul is elérhető a php.net oldalain.
A kézikönyv tizenkét nagy részre tagolható:
- PHP kézikönyv
- Előszó
- Első lépések
- Telepítés és beállítás
- A nyelv alapjai
- Biztonság
- Szolgáltatások
- Függvény referencia
- Zend API
- PHP API
- GYIK
- Függelékek
Ezeken belül kisebb fejezetek találhatóak.
Ha kezdők vagyunk, fontos elolvasnunk az „Első lépések” című részt, ahol szépen taglalva írják le, miként is kell hozzálátnunk a tanuláshoz.
Ha saját kiszolgálónk, arra fel is telepíthetjük a PHP-t. Ehhez nyújt segítséget a „Telepítés és beállítás” című rész.
„A nyelv alapjai”-t mindenképp érdemes elolvasnunk, ha eddig nem tettük meg. A gyakorlottabb programozókkal is előfordul, hogy egy-két alapvető hibát ejtenek. Amikor pedig kipróbálják, nem tudják, hol a hiba, pont azért, mert annyira alapvető...
A „Biztonság” nevű részre szintén ez vonatkozik. Nagyon hasznos ötleteket is kapunk, hogyan foltozzuk be az esetleges sebezhetőségeket.
A „Szolgáltatások” c. rész PHP „extra” dolgait foglalja magába, hogy végülis mit nyújt nekünk a programnyelv. Ezek hasznos dolgok, sok problémát és vesződséget meg lehet velük spórolni. Többek közt megtaláljuk, hogyan lehet fájlokat feltölteni a kiszolgálóra, sütit küldeni az ügyfél gépére, ellenőrizni az ügyfél munkamenetét, hogyan használjunk biztonságos munkamenetet stb.
A „Függvény referencia” a PHP Kézikönyv „lelke”. Ezt már csak akkor érdemes használnunk, ha valamennyire gyakorlottak vagyunk, tisztában vagyunk az alapvető szintaxissal. Ez a rész még a legprofibb programozóknak is biztosan nyújt újdonságokat. A referencián belül is kategorizálva vannak az átláthatóság kedvéért a függvények, pl. MySQL rész alatt a MySQL adatbázist kezelő függvényeket találjuk. Az ilyen részekben leírják az előre meghatározott változókat, hogy esetleg milyen könyvtár szükséges, és a függvények listáját. Ezután fejezetenként vannak leírva a függvények működése, sok esetben praktikus példákkal szemléltetve működésüket. (Sok függvénynek van álneve is. Ez azt jelenti, hogy egy parancsot többféle nevű függvénnyel is meghívhatsz. Ilyenből nagyon sok van. Az álnevek listája a függelékben található.)
A „GyIK” tartalmazza a Gyakran Ismételt Kérdések listáját. Ha hirtelen kellene válasz, és a fórumokban sem találunk megoldást, érdemes átböngészni őket.
A „Függelék” egy praktikus része a kézikönyvnek. Mint bármi más esetében, ez a függelék is egy kis „mindenre alkalmazható” segítség. Megtaláljuk például az álnevek listáját, amellyel úgyis meghívhatunk egy függvényt, hogy kevesebbet kelljen gépelnünk. De itt találjuk meg többek közt a php.ini beállítási lehetőségeit, vagy akár segítséget a PHP különböző változatairól való áttéréshez.
[szerkesztés] Szintaktika
Egy kis nem hivatalos segítség.
Szintaktikailag könnyű programnyelvről van szó, ugyanis amellett, hogy nem kell az utasítások típusával törődni (néhány speciális eset kivételével), azonkívül az egész nyelv egyszerű. (Ez időnként nehezen megtalálható hibához vezet.)
A PHP utasításokat mindig egy meghatározott karaktersorral kell kezdeni és bezárni. Ez lehet a:
<? ?> //(ha a php.ini-ben be van kapcsolva az ''short_open_tag''), a <?php ?> //, a <script language="PHP"> </script> //, és a <% %> //csak ha a php.ini-ben az ''asp_tags'' On-ra van állítva //Végül egy speciális eset: <?=$valtozo;?> //Ez sima változók kiírásának egyszerű, speciális módja.
Sok hibát kizárhatunk, ha programjainkban a "<?php" nyitó és a "?>" záró karaktersorokat használjuk. Ugyanis az érvényes nyitó és záró elemek a php.ini konfigurációs fájlban vannak deklarálva, amik szerverenként eltérhetnek egymástól, így előfordulhat, hogy egyes szerveren nem értelmezi az interpreter a php programunkat, hanem közvetlenül a kimenetre küldi a forráskódot.
A <? ?> jelölés különösen ellenjavalt, ugyanis az XML dokumentumok nyitó és záró tagja is hasonló, így egy include-olt (beágyazott) xml dokumentumot is forráskódnak értelmezne az interpreter.
Minden változót és összetett adatszerkezetet(objektumot,tömböt) a $ jellel kezdünk (pl. $valtozo="béka"; echo $valtozo;). Kivételt képeznek ez alól a konstansok (pl. define("KONSTANS","123456"); echo KONSTANS;).
A tömb indexelése – hasonlóan más C alapú nyelvekhez – 0-tól kezdődik, tehát a $tomb[1] eleme valójában a tömb 2. eleme.
A legegyszerűbb utasítás a már említett echo, vagy az ezzel egyenértékű print. Ennek segítségével lehet kihasználni igazán a php-t: közvetlenül lehet írni a készülő HTML dokumentumba, akár formázott szöveget is.
<?php echo "<p>"; // egy bekezdés echo "Helló világ!"; // szöveg echo "</p>"; // záró tag ?>
Az eredmény:
<p>Helló világ!</p>
Figyeljük meg, hogy az utasításokat pontosvessző (;) zárja, hasonlóan pl. a C nyelvhez.
[szerkesztés] Hivatkozások
[szerkesztés] Külső hivatkozások
- Hivatalos honlap: http://www.php.net/
- Magyarországi PHP konferenciák
- Segítség az interpreter és az Apache szerver telepítéséhez Windows rendszereken: [1]
|
Főbb programozási nyelvek (továbbiak) |
|
Imperatív: Fortran • C • C++ • C# • Java • Pascal • Delphi • Ada Script: JavaScript • Visual Basic • PHP • Python • Perl • sh Funkcionális: Haskell • Lisp • Scheme Egyéb: ABAP • Awk • COBOL • PL/SQL • SAS • SQL • Eiffel • Logo • Scratch • SML • Smalltalk |
|
Történelmi: ALGOL • APL • BASIC • Clipper • MUMPS • PL/I • RPG • Simula |


