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 5-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 5-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.