PHP
A PHP működése
[szerkesztés]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. 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 például a bejelentkezés, az adatbázis kezelés, fájlkezelé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.
Telepítés
[szerkesztés]A PHP-nek a futásához szüksége van egy webszerverre. Ezeket feltelepíthetjük külön-külön, vagy akár együtt is ún. Third Party programcsomagokkal, például az Appserv, illetve talán az egyik legismertebb webszerver programcsomag a xampp, ezeket Windows operációs rendszerre tervezték, míg a Linux operációs rendszereknél vagy magával az operációs rendszerrel telepítjük, vagy később külön-külön, magunk, kézzel.
A nyelv
[szerkesztés]A nyelv alapjai, ajánlott minden PHP programozónak.
- Hello world, a legprimitívebb PHP program
- If, a feltételes elágazás
- If-else, a feltételes elágazás két ága
- Switch, az értékek szerinti szétválasztás
- While, az elöltesztelő ciklus
- For, a számlálóciklus
- Do-while, a hátultesztelő ciklus
PHP blokkok
[szerkesztés]A feldolgozó programok számára tudatnunk kell mely részeket értelmezze php, vagy egyéb szkriptekként.
A PHP kódokat (érvényes ez a többi szkriptre is) a feldolgozó programok számára tudatnunk kell mely részeket hajtsák 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 következő táblázatban a PHP kód blokkjainak kijelölésére szolgáló elemek láthatóak:
Elnevezés | Kezdőelem | Záróelem |
---|---|---|
Hagyományos | <?php | ?> |
Rövid | <? | ?> |
ASP típus | <% | %> |
Script-elem | <SCRIPT LANGUAGE="PHP"> | </SCRIPT> |
A táblázatban látható lehetőségek közül 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. A rövid kezdőelem 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 alapértelmezésben engedélyezve vannak, ha csak valaki előzőleg ki nem kapcsolta. Az ASP típusú elemek engedélyezéséhez az asp_tag beállítást kell bekapcsolni: asp_tags = On. Ez abban az esetben lehet hasznos, ha olyan programmal 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 használjuk, 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 ezt alkalmazzák.
Alkotóelemek
[szerkesztés]Az alkotóelemek képzik a PHP nyelv alapjait. A következő néhány alpontban választ próbálunk nyújtani a következő néhány alapvető kérdésre:
- Mik azok a változók és hogyan használjuk őket?
- Hogyan hozzuk lére és hogyan érjük el a változókat?
- Mik azok az adattípusok?
- Melyek a leggyakrabban használt műveletek?
- Hogyan hozzunk létre kifejezéseket műveletjelek használatával?
- Hogyan határozzunk meg állandókat és hogyan használjuk azokat?
Változók
[szerkesztés]A változók különleges tárolók, amelyeket azért hozunk létre, hogy értéket helyezhessünk el bennük.
A PHP az előre nem definiált változókat automatikusan létrehozza (kivétel osztályok elemváltozói). A változókkal tárolhatunk számokat, karakterláncokat, objektumokat, tömböket vagy logikai értékeket. A változók egy dollárjelből ($) és egy „tetszőlegesen” választott névből tevődnek össze. A név az angol abc betűiből, számokból és aláhúzás karakterekből (_) tevődhet össze, szóközöket és egyéb karaktereket nem tartalmazhat, valamint nem kezdődhet számmal, valamint a kis és nagybetűk megkülönböztetettek! Íme néhány példa:
$a; //érvényes
$egy_hosszabb_valtozonev; //érvényes
$valtozo; //érvényes
$Valtozo; //érvényes, de nem egyenlő $valtozo-val
$2_valtozo; //érvénytelen
....
Ne feledjük, hogy a pontosvessző (;) a PHP utasítás végét jelzi, így az előzőekben bemutatott néhány példában a pontosvessző nem része a változók nevének.
A változók létrehozásakor általában rögtön értéket is szoktunk adni azoknak, pl.:
$szam1 = 8;
$szam2 = 39;
Itt rögtön két változót is létrehoztunk és az hozzárendelő műveletjellel (=) értéket is adtunk azoknak. Miután a változók értéket kaptak, úgy kezelhetjük a változókat, mint magukat az értékeket, vagyis a
print $szam1;
hatása egyenértékű a
print 8;
kóddal, feltéve, ha a $szam1 értéke 8 maradt.
A változók nevének megválasztásánál azonban fontos, hogy olyat válasszunk, amelyre a későbbiekben könnyedén és egyszerűen hivatkozhatunk, ne legyen túl hosszú, ugyanakkor túl rövid se, utaljon az értékére és a felhasználhatóságára, valamint (ez hosszabb kódok írásánál a legfontosabb) könnyen megjegyezhető legyen.
Adattípusok
[szerkesztés]A PHP egyszerű és összetett adattípusokat ismer, az osztályokat és erőforrásokat (pl. fájlokat vagy adatbázis-kapcsolatokat) is változóként kezeli.
Típusok:
A négy egyszerű típus
- boolean: bináris adattípus, értéke true (igaz) vagy false (hamis) lehet.
- integer: egész, 32 bites szám, lehet decimális, hexadecimális és oktális is.
- float (vagy double): lebegőpontos, más néven tört szám, 32 ill. 64 bites.
- string: karakterlánc vagy szöveg, nincs méretkorlátozás.
A két összetett típus
- array: tömb, bármilyen adattípusú lehet.
- object: osztály, objektum-orientált fogalom.
A két speciális típus
- resource: erőforrás változó, ilyen lehet egy fájlleíró vagy egy adatbázis-kapcsolat.
- NULL: érték nélküli változó, nem nulla, hanem nincs hozzárendelt memóriablokk.
A három kiegészítő típus
- mixed_R: bármilyen típus lehet, függvények definiálásakor használatos (ha mást nem adunk meg, ez az alapvető hozzáállás a PHP részéről).
- number: csak szám típus lehet (integer vagy float/double), függvények definiálásánál használatos.
- callback: visszahívó változó, függvények dinamikus meghívásánál használatos.
Műveletek és kifejezések
[szerkesztés]Állandók
[szerkesztés]Legfontosabb függvények
[szerkesztés]A PHP a legtöbb függvényt beépítve tartalmazza, nem kell meghívni őket, mint pl. a C nyelvben. Fontos megjegyezni, hogy a bemenetet legtöbb esetben nem parancssorból kapja, hanem egy felhasználó gépe egy űrlap (form) segítségével adja át neki egy globális változóba, ezért a C-hez hasonló scanf() függvényt nagyon ritkán használjuk.
Függvények kiíráshoz:
- echo: ld. print
- print: formázatlan kiírást tesz lehetővé, megadható neki változónév vagy idézőjelek közt tetszőleges szöveg. Változók vagy szövegek összefűzéséhez a . operátor használandó. Egy példa:
print( $i .". elem: ". $tomb[$i] );
. A zárójelek legtöbbször elhagyhatók. - printf: formázott kiírást tesz lehetővé. Példa:
printf("Pi két tizedesjegy pontosságra kerekítve: %.2f", 3.14159265 );
. A zárójelek nem hagyhatóak el.
HTML kódok használata PHP-val vegyítve
[szerkesztés]Ha HTML kódokat szeretnénk használni PHP oldalunk formázására, egyszerűen megtehetjük. Példaként vegyük a PRINT függvényt!
- Ha azt szeretnénk kiíratni, hogy Helló, világ!, ennyit kell beleírni a forráskódba:
print("Helló, világ!");
- De ha már több sorba szeretnénk kiírni több információt, akkor a HTML segít nekünk egyszerűen a következő módon:
print("Helló, világ!<br>");
print("Így külön sorba íródik minden<br>");
print("Mindössze a HTML-kódot a szövegbe kell írni");
- Egyszerűbb alakban:
print("Helló, világ!<br> Így külön sorba íródik minden<br> Mindössze a HTML-kódot a szövegbe kell írni");
Fejlesztőeszközök
[szerkesztés]Windows alá
[szerkesztés]1. Egy kis méretű egyszerű fejlesztő program a ConTEXT editor, mely különösebb extra szolgáltatásokkal nem rendelkezik, de mindenképp áttekinthetőbbé és egyszerűbbé teszi dolgunkat a PHP használata során!
2. Hasonló működésű mint a ConTEXT, de már bővebb szolgáltatással rendelkező alkalmazás a NOTEPAD++.
A fentebb említett 2 alkalmazás nyílt forráskódú szabad felhasználású és magyar nyelvre le vannak fordítva!
Linux alá
[szerkesztés]KDE: A Quanta a KWebDev csomag része, a csomagban található többek közt link ellenőrző, képtérkép-szerkesztő és egyéb eszközök.
Gnome: A Geany egy kicsi, PHP-re és C/C++-ra optimalizált, szkriptezhető szerkesztő.
Források
[szerkesztés]A PHP beépített függvényeinek rendszeresen frissített, magyar nyelvű kézikönyve megtalálható a PHP.net oldalon.