PHP

A Wikikönyvekből, a szabad elektronikus könyvtárból.

Mi a PHP?[szerkesztés]

A PHP elterjedt nyílt forráskódú szerver-oldali programozási nyelv, amely az SSI (Server Side Includes) és a Perl ötvözésére hivatott. Szintaktikája leginkább a C programozási nyelvéhez hasonlít. Megalkotója Rasmus Lerdorf. Mára azonban egy egész csapat foglalkozik a nyelvvel.

Saját magára utaló (rekurzív) mozaikszó, az angol: PHP Hypertext Preprocessor kifejezésből. (A név eredeti jelentése az angol Personal Home Page, azaz a személyes honlap kifejezés rövidítése volt.) A hypertext preprocessor a nevében arra utal, hogy HTML kódokba ágyazható be, és ha az azt futtató szerver fel van készítve rá, mielőtt a felhasználó számára megjelenik, a HTML forrás megváltozhat a feltételektől függően.

Széles körben való elterjedtségét C programozási nyelvhez való hasonlóságának, sebességének és egyszerűségének köszönheti.

A PHP nem csak szerveroldali alkalmazásoknál alkalmazható, bár asztali alkalmazások esetében nem terjedt el.

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.

  1. Hello world, a legprimitívebb PHP program
  2. If, a feltételes elágazás
  3. If-else, a feltételes elágazás két ága
  4. Switch, az értékek szerinti szétválasztás
  5. While, az elöltesztelő ciklus
  6. For, a számlálóciklus
  7. 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.


Ez a lap sajnos még nagyon rövid („csonk”). Segíts te is, hogy igazi lap lehessen belőle!