Első PHP oldalunk

A PHP telepítése és beállítása után eljött az ideje, hogy elkezdjünk vele dolgozni.
Ebben az órában elkészítjük az elsõ programunkat és elemezzük a kódot. Az óra
végére képesek leszünk olyan oldalak készítésére, amelyek HTML és PHP kódot is
tartalmaznak.
Ebben az órában a következõket tanuljuk meg:
• Hogyan hozzunk létre, töltsünk fel és futtassunk egy PHP programot?
• Hogyan vegyítsünk HTML és PHP kódot egy dokumentumon belül?
• Hogyan tehetjük a kódunkat olvashatóbbá megjegyzések használatával?

Elsõ programunk
Vágjunk a közepébe és kezdjük egy kész PHP oldallal! A kezdéshez nyissuk meg
kedvenc szövegfájl-szerkesztõnket! A HTML dokumentumokhoz hasonlóan a PHP
állományok is formázás nélküliek, tisztán szövegfájlok. Ez azt jelenti, hogy bármilyen
szövegfájl szerkesztésére íródott programmal készíthetünk PHP állományokat.
Ilyenek például a Windows Jegyzettömbje, a Simple Text vagy a BBEdit MacOS
alatt, vagy a VI és az Emacs UNIX esetében. A legnépszerûbb HTML-szerkesztõk
általában nyújtanak valamilyen különleges támogatást PHP-szerkesztéshez is.
Ilyenek például a kódszínezés, a kifejezésszerkesztõ vagy a tesztelõ.
Gépeljük be a 3.1. programot, és mentsük elso.php néven.
3.1. program Az elsõ PHP program

1:

A 3.1. ábra a 3.1. program kódját mutatja a KEdit programban.
A kiterjesztés igen fontos, mivel ez jelzi a kiszolgáló számára, hogy a fájl PHP kó-
dot tartalmaz és futtatásához meg kell hívni a feldolgozót. Az alapbeállítású PHP
kiterjesztés a .php, ez azonban a kiszolgáló beállításainak módosításával megváltoztathat
ó. Ezzel az elõzõ órában részletesen foglalkoztunk.
Ha nem közvetlenül a kiszolgálóprogramot futtató gépen dolgozunk, feltehetõen
az FTP nevû szolgáltatást kell használnunk arra, hogy PHP oldalunkat a kiszolgá-
lóra juttassuk. A Windowsban többek között a WS-FTP használható erre a célra,
MacOS használata esetén a Fetch lehet hasznos.
Ha sikerült elhelyeznünk a dokumentumot a kiszolgálón, elérhetjük egy
webböngészõ segítségével. Ha minden rendben ment, az ablakban a program
kimenetét láthatjuk. A 3.2. ábra az elso.php kimenetét mutatja.
Ha a PHP-t nem sikerült telepíteni a kiszolgálóra vagy nem a megfelelõ kiterjesztést
használtuk, feltehetõen nem az elõzõ ábrán látható kimenetet kapjuk. Ebben az
esetben általában a PHP program forráskódját látjuk viszont. Ezt mutatja a 3.3. ábra.
Ha ez történik, elõször ellenõrizzük a mentett fájl kiterjesztését. A 3.3. ábrán láthat
ó lapot véletlenül elso.nphp névvel mentettük. Ha a kiterjesztéssel nincs probl
éma, ellenõriznünk kell, hogy a PHP sikeresen felkerült-e a rendszerre és hogy
a kiszolgálót beállítottuk-e a megfelelõ kiterjesztés felismerésére. Ezekkel a kérdé-
sekkel az elõzõ órában foglalkoztunk részletesen.
Miután sikerült feltölteni és kipróbálni elsõ programunkat, kielemezhetjük az
imént begépelt kódot.
PHP blokkok kezdése és befejezése
Amikor PHP oldalakat írunk, tudatnunk kell a feldolgozóval, mely részeket hajtsa
végre. Ha nem adjuk meg, hogy a fájl mely részei tartalmaznak PHP kódot, az értelmez
õ mindent HTML-nek tekint és változtatás nélkül továbbküldi a böngészõ
számára. A 3.1. táblázat a PHP kód blokkjainak kijelölésére szolgáló elemeket sorolja
fel:
3.1. táblázat PHP blokkok kezdõ- és záróelemei
Elnevezés Kezdõelem Záróelem
Hagyományos
Rövid
ASP stílusú <% %>
Script elem
A 3.1. táblázatban látható lehetõségek közül csak az elsõ és az utolsó áll minden
beállítás esetén rendelkezésre. A rövid és ASP stílusú elemeket engedélyezni kell
a php.ini fájlban. Az elõzõ órában tárgyaltuk a beállítás módszerét.
A rövid kezdõelemek felismerését a short_open_tag beállítással engedélyezhetj
ük, ha „On” állapotba tesszük:
short_open_tag = On
A rövid kezdõelemek alapbeállításban engedélyezettek, ezért nem kell szerkeszten
ünk a php.ini fájlt, hacsak valaki elõzõleg ki nem kapcsolta.
Az ASP stílusú elemek engedélyezéséhez az asp_tags beállítást kell bekapcsolni:
asp_tags = On
Ez akkor lehet hasznos, ha olyan termékkel készítünk PHP oldalakat, amely törli
a PHP blokkokat, de az ASP részeket érintetlenül hagyja.
A php.ini fájl módosítása után lehetõségünk van választani a bekapcsolt típusok
közül. Rajtunk múlik, hogy melyik elemet választjuk, de ha XML-lel is szeretnénk
dolgozni, mindenképpen a hagyományos formát kell alkalmaznunk és le kell
tiltanunk a rövid stílust. Mivel a hagyományos forma minden rendszeren rendelkez
ésre áll, a fejlesztõk programjaikban általában ezt alkalmazzák, így a könyvben is
ezzel fogunk találkozni.
Nézzük meg, hogyan fest egy PHP fájl, amely a fent említett formákat használja az
elõzõ program kibõvítéseként. Ha engedélyeztük, bármely négy kezdõ- és
záróelemet használhatjuk a programban:


<% print ("Hello Web!"); %>

Ha PHP-ben egysoros kódot írunk, nem kell külön sorba tennünk a kezdõ- és
záróelemeket, illetve a programsort:

Miután megtanultuk, hogyan határozhatunk meg egy PHP kódblokkot, nézzük
meg még közelebbrõl a 3.1. programot.
A print() függvény
A print() függvény kiírja a kapott adatokat. A legtöbb esetben minden,
ami a print() függvény kimenetén megjelenik, a böngészõhöz kerül. A függvé-
nyek olyan parancsok, amelyek valamilyen mûveletet végeznek, többnyire attól
függõen, hogy milyen adatokat kapnak. A függvényeknek átadott adatokat majdnem
mindig zárójelbe kell tennünk a függvény neve után. Ebben az esetben
a print() függvénynek egy karakterláncot adtunk át. A karakterláncokat mindig
(egyes vagy kettõs) idézõjelbe kell tenni.
Elsõ PHP oldalunk 27
3
A függvények általában megkövetelik, hogy zárójeleket helyezz
ünk a nevük után, akár küldünk adatokat számukra, akár nem.
A print() ebbõl a szempontból kivételes, mivel hívása esetén
a zárójelek elhagyhatók. Ez a print() függvény megszokott
formája, ezért a továbbiakban ezt alkalmazzuk.
A 3.1. program egyetlen sorát pontosvesszõvel fejeztük be. A pontosvesszõ tudatja
a feldolgozóval, hogy az utasítás véget ért.
Az utasítás a feldolgozónak adott parancs. Általánosságban a PHP szá-
mára azt jelenti, mint az írott vagy beszélt nyelvben a mondat. Az utasí-
tásokat a legtöbb esetben pontosvesszõvel kell lezárni, a mondatokat írásjellel. Ez
alól kivételt képeznek azok az utasítások, amelyeket más utasítások vesznek kö-
rül, illetve azok, amelyek blokk végén állnak. A legtöbb esetben azonban az utasí-
tás végérõl lefelejtett pontosvesszõ megzavarja az elemzõt és hibát okoz.
Mivel a 3.1. programban az egyetlen megadott utasítás a blokk végén áll, a pontosvessz
õ elhagyható.
HTML és PHP kód egy oldalon
3.2. program PHP program HTML tartalommal
1: html>
2:
3.2. program PHP program HTML<br />tartalommal3:
4:
5:
6:
7:
10:

11:
12:
Látható, hogy HTML kód beépítése a PHP oldalakba egyszerûen a HTML tartalom
begépelésébõl áll. A PHP feldolgozó figyelmen kívül hagy mindent a PHP nyitó-
és záróelemeken kívül. Ha a 3.2. programot megnézzük böngészõvel, a „Hello
Web!” szöveget látjuk vastagon, mint ahogy ez a 3.4. ábrán megfigyelhetõ. Ha
a dokumentum forrását is megnézzük, ahogy a 3.5. ábra mutatja, a kód hagyomá-
nyos HTML dokumentumnak tûnik.
Egy dokumentumban a HTML elemek közé tetszõleges számú PHP kódblokk
írható. Bár több kódblokkot helyezhetünk el egy dokumentumon belül, ezek
együttesen alkotnak egy programot. Bármi, amit egy megelõzõ blokkban hatá-
roztunk meg, (változók, függvények vagy osztályok) a dokumentumon belül
elérhetõ lesz a késõbbi blokkokban is. A több együttmûködõ, összességében egy
nagyobb programot megvalósító PHP fájlt nevezzük PHP alkalmazásnak.
Elsõ PHP oldalunk 29
3
3.4. ábra
Ha a 3.2 programot
megnézzük böngé-
szõvel, a „Hello Web!”
szöveget látjuk
vastagon
3.5. ábra
Ha a dokumentum
forrását nézzük, a
kód hagyományos
HTML dokumentumnak
tûnik
Megjegyzések a PHP kódokban
Az íráskor átlátható programkód hat hónappal késõbb reménytelenül kuszának
tûnhet. Ha azonban megjegyzéseket fûzünk a kódhoz, miközben írjuk, a késõbbiekben
sok idõt takaríthatunk meg magunknak és más programozóknak, akik az
adott kóddal fognak dolgozni.
A megjegyzések a kódban található olyan szövegrészek, amelyeket
a feldolgozó figyelmen kívül hagy. Segítségükkel olvashatóbbá tehetjük
a programot és jegyzeteket fûzhetünk hozzá.
A PHP egysoros megjegyzései két perjellel (//) vagy egy kettõskereszt karakterrel
(#) kezdõdhetnek. Az ezen jelzések után található szöveget a PHP-értelmezõ
mindig figyelmen kívül hagyja, a sor vagy a PHP blokk végéig.
// Ez megjegyzés
# Ez is megjegyzés
A többsoros megjegyzések egy perjelet követõ csillag karakterrel kezdõdnek (/*)
és egy csillagot követõ perjellel (*/) fejezõdnek be.
/*
Ez egy megjegyzés.
A PHP-értelmezõ
ezen sorok egyikét
sem fogja feldolgozni.
*/

Összefoglalás
Mostanra rendelkezésünkre állnak azok az eszközök, melyekkel képesek vagyunk
egy egyszerû PHP program futtatására egy megfelelõen beállított kiszolgálón.
Ebben az órában elkészítettük elsõ PHP programunkat. Láttuk, hogyan használható
egy szöveges szerkesztõ, hogy létrehozzunk és mentsünk egy PHP dokumentumot.
Elemeztük a négy rendelkezésre álló blokk kezdõ- és záróelemet. Megtanultuk,
miként kell használnunk a print() függvényt, hogy a böngészõ számára kimenetet
küldjünk, majd összeállítottunk egy HTML és PHP kódot is tartalmazó állom
ányt. Végül tanultunk a megjegyzésekrõl és arról, hogyan építhetjük be ezeket
a PHP dokumentumokba.

Kérdések és válaszok
Melyik a legjobb kezdõ- és záróelem?
Ez nagyrészt saját döntésünkön múlik. A hordozhatóság szem elõtt tartásával
a hagyományos megoldás a legjobb döntés. A rövid kezdõelemek alapesetben
engedélyezettek és rendelkeznek a tömörség elõnyös tulajdonságával.
Milyen szerkesztõprogramokat kell elkerülni a PHP kódok készítésekor?
Ne használjunk olyan szövegszerkesztõket, amelyek saját formátummal rendelkeznek,
mint a Microsoft Word. Ha ilyen típusú szerkesztõvel mentjük szöveges
fájlként az elkészült dokumentumot, a kódban megbújó rejtett karakterek biztos
gondot fognak okozni.
Mikor kell megjegyzéseket fûzni a kódokhoz?
Ez is nagyrészt a programozó döntésén múlik. A rövid programokhoz nem érdemes
magyarázatot fûzni, mivel ezek még hosszú idõ után is érthetõek maradnak.
Ha a program azonban akár csak egy kicsit is bonyolult, már javasolt megjegyzé-
sekkel bõvíteni. Ez hosszú távon idõt takarít meg számunkra és kíméli idegeinket.
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. A felhasználó böngészõjével elolvashatja-e a PHP kódot?
2. Adjuk meg a PHP hagyományos kezdõ- és záróelemeit!
3. Adjuk meg az ASP stílusú kezdõ- és záróelemeket!
4. Adjuk meg a Script kezdõ- és záróelemeket!
5. Mely függvény használatos a böngészõ számára küldött adatok kiírásához?
Feladatok
1. Gyakoroljuk a PHP oldalak elkészítését, feltöltését és futtatását!