6. Fejezet. Alapvető szintaxis

Tartalom
Escape szekvencia HTML-ben
Utasítások elválasztása
Megjegyzések - kommentek

Escape szekvencia HTML-ben

Amikor a PHP feldolgoz egy fájlt, akkor egyszerűen a kimenetre másol minden karaktert, amíg nem találkozik valamelyik speciális jelöléssel (lásd alább!), amelyet PHP kódrészlet kezdeteként értelmez. Ekkor a PHP futtatni kezdi a zárójelölésig található összes kódot. Ezzel a működési elvvel lehet könnyen HTML oldalakba elhelyezni PHP kódot, mivel mindent, ami a PHP nyitó- és zárójelölésein kívül esik, teljes mértékben békénhagy, és csak ezeken belüli tartalmat értelmezi programkódként.

Négyféle jelöléssel lehet az állomány bizonyos részeit PHP kódként megjelölni. Ezek közül csak kettő használható bármilyen esetben: <?php. . .?> and <script language="php">. . .</script> a másik kettő ki és bekapcsolható a php.ini konfigurációs fájlban. Bár a rövid vagy az ASP-stílusú formák kényelmesnek tűnnek, egyszersmind kevésbé hordozhatók, mint a hosszabb változatok. Emellett, ha XML vagy XHTML fájlokba kell PHP kódot illeszteni, azt csak <?php. . .?> alakkal lehet - igazodva az XML ajánláshoz.

Példa 6-1. A PHP-módba kerülés lehetőségei

1.  <?php echo("Ha XHTML vagy XML dokumentumokat is akarsz szolgáltatni," .
               "biztos szeretni fogod ezt\n"); ?>

2.  <? echo ("Ez a legegyszerűbb, egy SGML processing utasítás\n"); ?>
    <?= $valtozo; # Ez egy rövidítése a "<? echo ..?>"-nak ?>

3.  <script language="php">
        echo ("Néhány szerkesztő (ilyen pl. a FrontPage) nem" .
              "szereti a processing utasításokat");
    </script>

4.  <% echo ("Használhatsz ASP-stílusú tag-eket"); %>
    <%= $valtozo; # Ez egy rövidítése a "<% echo ..%>"-nak %>

Az első lehetőség a leginkább javasolt, mivel ezzel XML-konform dokumentumokban , mint például XHTML, is lehet PHP kódokat elhelyezni.

A második forma nem mindig használható, csak akkor, ha a rövid nyitó jelölések engedélyezve vannak. Engedélyezhetjük - PHP 3-ban - short_tags() függvényhívással, a short_open_tag beállítással a PHP konfigurációs fájlban, vagy a PHP fordításánál a configure program --enable-short-tags opciójával. Annak ellenére ha alapértelmezés szerint engedélyezve van is, a rövid nyitójelölések használata ellenjavallt

A negyedik mód csak akkor elérhető, ha az ASP-stílusú jelölés is engedélyezve van az asp_tags konfigurációs beállítással.

Megjegyzés: Az ASP-stílusú tagek a 3.0.4. verziótól használhatóak

Megjegyzés: A rövid nyitójelölések használata kerülendő újrafelhasználandó, széles körű terjesztésre szánt könyvtárak vagy programok fejlesztésekor, illetve olyan alkalmazások megírásakor, amelyek üzemeltetése felett a program írójának nincs ellenőrzése, Ennek oka, hogy a rövid nyitójelölések nem minden konfigurációban használhatók, így csökkenti a hordozhatóságot. Hordozható, újrafelhasználható komponensek esetén ne használd a rövid nyitójelöléseket!

A lezárójelölés magában foglalja a jelölést közvetlenül követő újsort karaktert, ha van ilyen, emellett a PHP blokk utolsó sorát lezáró pontosvesszőt (;).

A PHP a következő struktúrák használatát is megengedi:

Példa 6-2. HTML blokkok feltételhez kötése

<?php if ($igazez) { ?>
<strong>Igaz a változó tartalma</strong>
<?php } else { ?>
<strong>Hamis a változó tartalma</strong>
<?php } ?>
Ez a várakozásoknak megfelelően működik, mivel a PHP ?> lezáró jelölést követően mindent átmásol a kimenetre, amíg egy újabb nyitó jelöléssel. A fenti példa természtesen mondvacsinált, de nagy méretű szövegblokkok kiíratásakor hatékonyabbnak bizonyulhat ideiglenesen elhagyni a PHP módot, mint mindezt a szöveget echo(), print() vagy ehhez hasonló függvényekkel kiíratni.