Web Tervezés - 7. Gyakorlat

PHP II.

Más fájlok betöltése

Hasonlóan a C-s #include-hoz, PHP-ban is van lehetőség más fájl tartalmának a betöltésére. Olyan, mintha ebben a fájlban lenne a tartalma (scope egybeolvad, lsd lentebb). link
Ha a betöltött fájlban van egy return utasítás, akkor azt adja vissza a függvény.
pelda.php tartalma:
primek.php tartalma:
eredmény:

A keresési útvonal az alábbi: Például a set_include_path("...") fügvénnyel megadható include path.

Kommentek

Több lehetőség is van kommentek megadására, mint ahogy a példában is látható.
Az egyik különleges komment az úgynevezett DocBlock. Ez azért különleges, mert reflection segítségével elérhető.
Innentől kezdve futás időben feldolgozhatjuk ezeket a szövegeket, és például (a java-ból már ismert) annotációkat is kezelhetünk.
Csak említés szintjén: a PHP nyelvi szinten nem támogatja az annotációkat, de ezzel a trükkel mégis használhatóak. Hátránya, hogy a reflection + szöveg feldolgozás lassú, ezért érdemes kódot generálni, majd egyből include segítségével betölteni php kódot.

Változók

Változók nevét a $ jellel kell kezdeni. Ezután az első karakter lehet a-z,A-Z,_ a többi pedig a-z,A-Z,_,0-9.
A PHP egy gyengén típusos nyelv, ezért nem kell megadni a változók típusát. Futás időben dől el, hogy éppen mi lesz típusa.
Lehet változóra referenciát is tárolni az & jel segítségével: $v2 = &$v1;.
PHP-ben a változók scope-okhoz (hatókör) vannak kötve.
Egy fájlban létrehozott változók a globális scope-ba kerülnek.
Függvényen belül lokális scope-ok vannak. Az itt létrehozott változók nem érhetőek el kívülről.
Alapból a globális változók sem használhatóak.
A global kulcsó használatával, vagy a $GLOBALS nevű szuperglobális változó segítségével el lehet érni a globális változókat is lokális scope-okból.
Függvényen belül létre lehet hozni statikus változókat, hasonlóan mint C-ben a static kulcsszóval. Ezek a többszöri hívás során megtartják az értéküket.
A PHP dinamikus nyelv, így még az is dinamikusan határozható meg, hogy melyik változót akarjuk használni. Ezt változó változónak nevezik.
A lényege: a változó nevét egy string-ként tárolhatjuk, majd amikor akarjuk, felhasználhatjuk a string-ben tárolt azonosítót a változó elérésére.

Beépített változók

A PHP rendelkezik néhány beépített változóval, melyből elérhetünk minden fontos adatot.
Ezek szuperglobális változók, tehát a kód bármely részéről elérhetőek. A lényegesebbek:

Konstansok

A define függvénnyel létrehozhatunk konstansokat, melyek a program futása során állandóak maradnak.
Ezek a konstansok elérhetőek scope-től függetlenül bárhonnan, valamint nem kell a $ jelet kitenni eléjük.
A define harmadik paramétere azt adja meg, hogy ne legyen érzékeny a kis- és nagybetűkre a konstans. Alapértelmezetten érzékeny.
Továbbá a const kulcsszóval is létrehozhatunk konstansokat.
A PHP további mágikus konstansokat is biztosít a számunkra.

Kiíratás

Kiíratásra az alábbi parancsokat használják a leggyakrabban (kiemelve a sajátosságokat): A print_r és var_dump esetén ügyelni kell rá, hogy ha egy tömb egy eleme a tömbre mutató referencia, akkor rekurzívan végtelenszer megpróbálja kiírni a tömböt.
A jelenlegi PHP verziók már intelligensek annyira, hogy ilyet ne csináljanak, csak a régi rendszereknél jelenthet gondot.

Típusok

A PHP az alábbi típusokat támogatja (kiemelve a fontos dolgokat):
Az egyes típusok közötti konverzió jól definiált a PHP nyelvben, és gyakran ki is használják a fejlesztők.