Web Tervezés - 7. Fejezet

PHP II.

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.
Változók

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.

Vezérlési szerkezetek

A többi nyelvben már megismert vezérlési szerkezetek megtalálhatóak a PHP nyelvben is.
Amit érdemes kiemelni az a foreach mely tömbök bejárását könnyíti meg, illetve egy objektum publikus adattagjait is bejárhatjuk vele.
Továbbá az IF szerkezetben az ELSE IF írható egybe is: ELSEIF, mely egy lefoglalt kulcsszó a nyelvben.
Vezérlés

Feladat

Készíts egy egyszerű számológépet (amely bekér két számot és egy műveleti jelet -a négy alapművelet közül- és kiírja az eredményt).

Feladat

Készíts egy egyszerű blog oldalt, ahol blog bejegyzések vannak kilistázva egy-egy képpel.
A tartalom legyen statikus, és a webszerver szolgálja ki.

Feladat

Az adatokat egy tömbben tárold le, és a "kiíró-ciklus" ezt bejárva írja ki a bejegyzéseket.
Az alábbi adatokkal rendelkezzen egy bejegyzés: