Az elsõ lépések

1. óra PHP: személyes honlaptól a portálig
2. óra A PHP telepítése
3. óra Elsõ PHP oldalunk

PHP: személyes honlaptól
a portálig
Üdvözlet a PHP világában! Ebben a könyvben végigtekintjük a PHP nyelv majdnem
minden elemét. Mielõtt azonban részletesebben megnéznénk, mire lehetünk
képesek segítségével, tárjuk fel múltját, fõbb tulajdonságait és jövõjét.
Ebben az órában a következõket tanuljuk meg:
• Mi a PHP?
• Hogyan fejlõdött a nyelv?
• Mik a PHP 4 újdonságai?
• Hogyan tehetjük optimálissá a PHP-t?
• Miért pont a PHP-t válasszuk?
Mi a PHP?
A PHP nyelv túlnõtt eredeti jelentõségén. Születésekor csupán egy makrókészlet
volt, amely személyes honlapok karbantartására készült. Innen ered neve is:
Personal Home Page Tools. Késõbb a PHP képességei kibõvültek, így egy önáll
óan használható programozási nyelv alakult ki, amely képes nagyméretû webes
adatbázis-alapú alkalmazások mûködtetésére is.
A PHP nyelv népszerûsége képességeinek bõvülésével folyamatosan nõtt. A NetCraft
elemzõ cég (http://www.netcraft.com/) felmérései szerint a PHP-t 2000 febru
árjában 1,4 millió kiszolgálón használták és októberre ez a szám 3,3 millióra ugrott.
Ezzel megközelítette a Microsoft IIS kiszolgálók számát, ami 3,8 millió. Az E-Soft
szerint a PHP a legnépszerûbb Apache modul, a ModPerlt is maga mögé utasítva.
A PHP jelenleg hivatalosan a PHP: Hypertext Preprocessor elnevezést használja.
Tulajdonképpen kiszolgálóoldali programozási nyelv, amit jellemzõen HTML oldalakon
használnak. A hagyományos HTML lapokkal ellentétben azonban a kiszolg
áló a PHP parancsokat nem küldi el az ügyfélnek, azokat a kiszolgáló oldalán
a PHP-értelmezõ dolgozza fel. A programjainkban lévõ HTML elemek érintetlenül
maradnak, de a PHP kódok lefutnak. A kódok végezhetnek adatbázis-lekérdezé-
seket, dinamikusan létrehozhatnak képeket, fájlokat olvashatnak és írhatnak,
kapcsolatot létesíthetnek távoli kiszolgálókkal – a lehetõségek száma végtelen.
A PHP kódok kimenete a megadott HTML elemekkel együtt kerül az ügyfélhez.
A PHP fejlõdése
A PHP elsõ változatát – amely néhány webalkalmazás-készítést segítõ makrót tartalmazott
– Rasmus Lerdorf készítette 1994-ben. Ezen eszközöket együttesen
a Personal Home Page Tools névvel azonosították. Késõbb, a kód újraírása után,
egy friss elem került a csomagba, a Form Interpreter (Ûrlapfeldolgozó), így
PHP/FI néven vált ismertebbé. A felhasználók szemszögébõl a PHP/FI nagyon
hasznos segédeszköz volt, így népszerûsége töretlenül nõtt. Több fejlesztõ is felfigyelt
rá, így 1997-re már számos programozó dolgozott rajta.
A következõ kiadás, a PHP 3-as, már egy csapat együttmûködésébõl született.
Ehhez a változathoz Zeev Zuraski és Andi Gutmans újjáalkotta a teljes feldolgozó-
egységet, valamint újabb elemeket és szabályokat adott a nyelvhez. Ez a változat
megalapozottá tette a PHP helyét a legjobb kiszolgálóoldali nyelvek között, így
felhasználói tábora rendkívüli mértékben nõtt.
Az Apache- és MySQL-támogatás megerõsítette a PHP pozícióját. Az Apache jelenleg
a legnépszerûbb kiszolgáló a világon és a PHP 3-as már modulként illeszthetõ hozzá.
A MySQL igen hatékony, ráadásul ingyenes SQL adatbázisrendszer, amelyhez a PHP
átfogó támogatást nyújt. Az Apache-MySQL-PHP együttes egyszerûen verhetetlen.
Ez természetesen nem jelenti azt, hogy a PHP nem használható más környezetben,
más eszközökkel. A PHP számos adatbázis-alkalmazással és webkiszolgálóval
képes együttmûködni.
A PHP népszerûségének növekedésére hatással volt a webes alkalmazások fejleszt
ésében történt váltás is. Az 1990-es évek közepén természetesnek számított, hogy
akár egy nagyobb webhelyet is több száz, egyenként kézzel kódolt HTML lap felhaszn
álásával készítsenek el. Mára azonban a fejlesztõk egyre inkább kihasználják
az adatbázisok nyújtotta kényelmi szolgáltatásokat, hogy a megjelenítendõ tartalmat
hatékonyan kezeljék és az egyes felhasználóknak lehetõséget adjanak
a webhelyek testreszabására.
Egyre gyakoribb adatbázisok használata a tartalom tárolására és az információk
visszakeresésére különbözõ felületeken. Az adatok egy központból több környezetbe
is érkezhetnek, beleértve a mobiltelefonokat, a digitális személyi titkárokat
(PDA), digitális televíziókat és szélessávú internetes rendszereket is.
Ebben a környezetben már nem meglepõ, hogy egy ilyen kifinomult és rugalmas
nyelv, mint a PHP, ekkora népszerûségre tett szert.
A PHP 4 újdonságai
A PHP 4-es változata számos – a programozók életét megkönnyítõ – új szolgáltat
ással rendelkezik. Nézzük ezek közül a legfontosabbakat:
• A Perl nyelvben találhatóhoz hasonló új foreach vezérlési szerkezet, ami leegyszer
ûsíti a tömbökön végrehajtandó ciklusok készítését. Ezt fogjuk haszn
álni a könyv legtöbb tömbbel kapcsolatos példájában. Ezen túl számos új
tömbkezelõ függvény került a nyelvbe, amelyek megkönnyítik a tömbökkel
végzett mûveleteket.
• A nyelv tartalmazza a boolean (logikai) adattípust.
• A PHP 3 felettébb hasznos szolgáltatása volt, hogy a HTML ûrlap elemeit
tömbnevekkel láthattuk el, így ezek neve és értéke a program számára egy
tömbként került átadásra. Ez a szolgáltatás a többdimenziós tömbök támogat
ásával bõvült.
• A PHP 3 csak kezdetleges szinten támogatta az objektumközpontú programoz
ást. Ezen a téren is jelentõs fejlesztés történt, a PHP 4-esben például már
lehetséges egy felülírt metódus meghívása egy leszármazott osztályból.
• A PHP 4-be beépítették a felhasználói munkamenetek (session) támogatását
is. Ezek kezelése sütik (cookie) vagy GET metódusú lekérdezések (query
string) formájában történhet. Lehetõségünk van változókat rendelni egy munkamenethez
és más oldalakon újra elérni ezeket.
• Két új összehasonlító mûveletet vezettek be (=== és !==), melyekkel
egyidõben értékek és típusok egyezését, illetõleg nem egyezését is ellenõrizhetj
ük.
• A kiszolgálói és környezeti adatok tárolására új „beépített” asszociatív tömbö-
ket hoztak létre, valamint egy új változót, amelybõl információkat kaphatunk
a feltöltött fájl(ok)ról.
• A PHP 4-es beépített támogatással rendelkezik a Java és XML nyelvekhez.
Ezek és más új szolgáltatások ugyan jelentõsen bõvítették a nyelvet, de a legfontosabb
változás a felszín alatt következett be.
A Zend Engine
A PHP 3 készítésekor az alapoktól indulva teljesen új feldolgozóegységet írtak
a nyelvhez. A PHP 4-esben hasonló változás figyelhetõ meg a programokat futtató
magban, ez azonban jelentõsebb.
A Zend Engine a PHP modulok mögött található, a programokat futtató mag elnevez
ése. Kifejezetten a teljesítmény jelentõs növelésére fejlesztették ki.
A hatékonysági változások minden bizonnyal biztosítani fogják a PHP további
sikerét. A PHP 3-as változata számára készült kódok legnagyobb része minden
módosítás nélkül tovább mûködik, sõt, akár 200-szoros sebességgel futhat.
A Zend Technologies Ltd. (http://www.zend.com/) egyik kereskedelmi fejleszt
ése a PHP kódok fordítását teszi lehetõvé. Ez további teljesítménynövekedést
jelent, amivel a mérések szerint a PHP messze maga mögött hagyja legtöbb
versenytársát.
A Zend Engine a teljesítmény és a rugalmasság növelésére íródott. A kiszolgálókapcsolatok
továbbfejlesztésével lehetõvé vált, hogy olyan PHP modulok készüljenek,
amelyek a kiszolgálók széles körével képesek együttmûködni. Míg CGI-feldolgozó-
ként minden lekéréshez új PHP-értelmezõt kell elindítani, addig modulként a PHP
folyamatosan a memóriában van. Ez gyorsabb futást jelent, hiszen nem kell mindig
elindítani egy újabb feldolgozóprogramot, ha kérés érkezik.

Miért a PHP?
Van néhány megcáfolhatatlan érv, amiért a PHP 4-est érdemes választani. Ha más
programnyelveket is ismerünk, számos alkalmazás fejlesztése során észlelni fogjuk,
hogy a programozási szakasz érezhetõen gyorsabb, mint várnánk. A PHP,
mint nyílt forráskódú termék jó támogatással rendelkezik, amit a képzett fejlesztõi
gárda és az elkötelezett közösség nyújt számunkra. Ráadásul a PHP a legfontosabb
operációs rendszerek bármelyikén képes futni, a legtöbb kiszolgálóprogrammal
együttmûködve.
A fejlesztés sebessége
Mivel a PHP lehetõséget ad a HTML elemek és a programkódok elkülönítésére,
az alkalmazások fejlesztésekor lehetõség van elválasztani a kódolási, tervezési, és
összeállítási szakaszt. Ez jelentõsen megkönnyíti a programozók életét, azzal, hogy
elmozdítja az akadályokat a hatékony és rugalmas alkalmazások kialakításának
útjából.
A PHP nyílt forráskódú
Számos felhasználó szemében a „nyílt forráskódú” egyet jelent azzal, hogy ingyenes,
ami természetesen már önmagában is elõnyös. Egy idézet a PHP hivatalos
webhelyérõl (http://www.php.net/):
Talán idegennek hangozhat azok számára, akik nem UNIX-háttérrel olvass
ák-e sorokat, hogy a PHP nem kerül semmibe. Használható kereskedelmi
és/vagy nem kereskedelmi célra, ahogy tetszik. Odaadhatjuk barátainknak,
kinyomtathatjuk és felakaszthatjuk a falra vagy akár elfogyaszthatjuk ebédre.
Légy üdvözölve a nyílt forráskódú programok világában! Mosolyogj, légy boldog,
a világ jó! További információkért lásd a hivatalos licenszet.
A jól szervezett nyílt forráskódú projektek újabb elõnyökkel szolgálnak a felhaszn
álóknak. Felvehetjük a kapcsolatot a könnyen elérhetõ és elkötelezett felhaszná-
lói közösséggel, ahol számos nagy tapasztalattal rendelkezõ embert találunk. Nagy
az esély rá, hogy bármilyen problémával is kerüljünk szembe, némi kutatással
gyorsan és könnyen választ találunk rá. Ha mégsem, egy levelezõlistára küldött
üzenetre általában hamar érkezik intelligens és hiteles válasz.
Úgyszintén bizonyos, hogy a feldolgozóprogram hibáinak javítása nem sokkal felfedez
ésük után megtörténik és a felmerült új igényeket kielégítõ szolgáltatások is
hamar beépülnek a nyelvbe. Nem kell várni a következõ hivatalos kiadásra, hogy
a fejlesztések elõnyeit élvezzük.
Nincs a PHP mûködtetéséhez egyedileg kiválasztott kiszolgáló vagy operációs
rendszer. Szabadon választhatunk olyan rendszert, amely kielégíti saját vagy
ügyfeleink igényeit. Biztos, hogy kódunk továbbra is futtatható lesz, bármi mellett
is döntünk.
Teljesítmény
A hatékony Zend Engine-nek köszönhetõen a PHP 4-es jól vizsgázik az ASP-vel
szemben végzett méréseken, néhányban megelõzve azt. A lefordított PHP messze
maga mögött hagyja az ASP-t.
Hordozhatóság
A PHP-t alapvetõen úgy tervezték, hogy alkalmas legyen számos operációs rendszeren
való használatra, együttmûködve különbözõ kiszolgálókkal és adatbáziskezel
õkkel. Fejleszthetünk UNIX rendszerre és áttérhetünk NT alapokra minden
probléma nélkül. A PHP alkalmazásokat kipróbálhatjuk Personal Web Serverrel és
késõbb telepíthetjük azokat egy UNIX rendszerre, ahol a PHP-t Apache modulként
használjuk.

Összefoglalás
Ebben az órában bemutattuk a PHP-t. Láttuk, hogyan alakult át a nyelv egyszerû
makrókészletbõl hatékony programnyelvvé. Megismertük a Zend Engine-t, és
megnéztük, milyen új lehetõségeket teremt a PHP 4-es változatában. Végül áttekintett
ünk néhány tulajdonságot, amelyek ellenállhatatlanná teszik a PHP-t.

Kérdések és válaszok
Könnyû megtanulni a PHP nyelvet?
Röviden: igen! Valóban meg lehet tanulni a PHP alapjait 24 órában! A PHP megsz
ámlálhatatlanul sok függvényt bocsát rendelkezésünkre, melyek megvalósításá-
hoz más nyelvekben saját kódot kellene írni. A PHP automatikusan kezeli a különb
özõ adattípusokat és memóriafoglalásokat (hasonlóan a Perl-höz).

Egy programozási nyelv nyelvtanának és szerkezeteinek megértése azonban
csak az út kezdetét jelenti. Végsõsoron a saját programok készítésébõl és a hibák
kijavításából lehet igazán sokat tanulni. Ezt a könyvet kiindulópontként érdemes
tekinteni.

Mûhely
A mûhelyben kvízkérdések találhatók, melyek segítenek megszilárdítani az órában
szerzett tudást. A válaszokat az A függelékben helyeztük el.
Kvíz
1. Mit jelentett eredetileg a PHP betûszó?
2. Ki készítette a PHP elsõ változatát?
3. Mi az új mag neve a PHP 4-es változatában?
4. Soroljuk fel a PHP 4 néhány új szolgáltatását!
Feladatok
1. A könyvet átlapozva annak felépítése alaposabban szemügyre vehetõ.
Gondolkozzunk el a témákon, és azon, hogyan segíthetnek jövõbeni
alkalmazásaink elkészítésében.