Kapitel 6. Grundlagen der Syntax

Inhaltsverzeichnis
Den HTML-Bereich der Datei verlassen
Abgrenzung von Anweisungen
Kommentare

Den HTML-Bereich der Datei verlassen

Während des Parsens einer Datei geht PHP den Text solange einfach durch, bis einer der speziellen Tags gefunden wird, der PHP mitteilt, dass ab nun mit der Interpretation des Textes als PHP Code zu beginnen ist. Der Parser führt nun den Code solange aus, bis er auf einen schließenden PHP Tag stößt, welcher dem Parser mitteilt, den Text ab hier wieder nur einfach durchzugehen. Das ist der Mechanismus der es erlaubt, PHP Code in HTML einzubinden: alles außerhalb der PHP Tags wird einfach alleine gelassen, während alles innerhalb dieser Tags als Code geparsed wird.

Es gibt vier Arten von Tags, welche die Böcke mit PHP Code kennzeichnen. Davon sind nur zwei immer verfügbar (<?php. . .?> and <script language="php">. . .</script>), die anderen können in der Konfigurationsdatei php.ini aktiviert bzw. deaktiviert werden. Die Tags in der Kurzform bzw. im ASP-Stil mögen zwar praktisch erscheinen, sind jedoch nicht so portabel wie die längeren Versionen. Wenn Sie weiters beabsichtigen, PHP Code in XML oder XHTML einzubinden, werden Sie die XML-konformen <?php. . .?> verwenden müssen.

Die von PHP unterstützten Tags sind:

Beispiel 6-1. Möglichkeiten, den HTML-Bereich zu verlassen

1.  <?php echo("In XHTML- oder XML-konformen Dokumenten benutzen Sie diese Syntax\n"); ?>

2.  <? echo ("Die einfachste Möglichkeit: eine SGML-´processing instruction´\n"); ?>
    <?= expression ?> Dies ist eine Abkürzung für "<? echo expression ?>"

3.  <script language="php">
        echo ("manche Editoren(wie FrontPage) mögen
              keine ´processing instructions´");
    </script>

4.  <% echo ("Optional können Sie auch Tags im ASP-Stil verwenden"); %>
    <%= $variable; # Das ist ein Abkürzung fuer "<% echo . . ." %>

Die erste Methode (<?php. . .?>) wird bevorzugt, da sie auch die Verwendung von PHP in XML-konformen Code, wie XHTML, erlaubt.

Die zweite Methode ist nicht immer verfügbar. Die Kurzform der Tags ist nur möglich, wenn diese zuvor aktiviert wurde. Dies kann mittels der Funktion short_tags() (nur PHP 3), dem Setzen der Konfigurationsoption short_open_tag in der PHP Konfigurationsdatei, oder durch das Kompilieren von PHP mit der Option --enable-short-tags. Auch wenn dise Methode standardmäßig in der php.ini.dist aktiviert ist, wird die Verwendung dieser Kurzform nicht empfohlen.

Die vierte Methode ist nur verfügbar, wenn die Konfigurationsoption asp_tags aktiviert ist.

Anmerkung: Die Unterstützung der Tags im ASP-Stil wurde in Version 3.0.4. hinzugefügt.

Anmerkung: Die Verwendung der ´short tags´ sollten Sie vermeiden, wenn Sie Applikationen oder Bibliotheken entwickeln, die verteilt oder auf PHP-Servern eingesetzt werden soll, die nicht unter Ihrer Kontrolle stehen, da die ´short tags´ auf dem einzusetzenden Server nicht unterstützt werden könnten. Stellen Sie also sicher, dass für portablen, weiterverteilbaren Code keine ´short tags´ verwendet werden.

Der schließende Tag für den PHP-Block schließt eine sofort folgende Zeilenschaltung mit ein, falls diese vorhanden ist. Außerdem beinhaltet der schließende Tag ein implizites Semikolon; Sie müssen also die letzte Zeile eines PHP-Blocks nicht mit einem Semikolon beenden.

PHP ermöglicht auch die Verwendung folgender Strukturen:

Beispiel 6-2. Erweitertes Verlassen

<?php
if ($expression) {
    ?>
    <strong>Das ist richtig.</strong>
    <?php
} else {
    ?>
    <strong>Das ist falsch.</strong>
    <?php
}
?>
Dies funktioniert wie erwartet, da PHP nach dem Auffinden eines ?> schließenden Tags einfach alles ausgibt, bis es wieder auf einen öffnenden Tag stößt. Das obige Beispiel ist natürlich gekünstelt, aber für die Ausgabe von großen Textblöcken ist der Ausstieg aus dem Parse-Modus generell effizienter, als den gesamten Text durch echo(), print(), etc. zu jagen.