Alles außerhalb eines Paares von öffnenden und schließenden Tags wird vom PHP-Parser ignoriert, was es ermöglicht, dass PHP-Dateien gemischten Inhalt haben können. Das ermöglicht die Einbettung von PHP in HTML-Dokumenten, zum Beispiel um Templates zu erstellen.
<p>Das hier wird von PHP ignoriert, und vom Browser angezeigt.</p>
<?php echo 'Wohingegen das hier geparst wird.'; ?>
<p>Dies wird ebenfalls von PHP ignoriert, und vom Browser angezeigt.</p>
Verwendung von Strukturen mit Bedingungen
Beispiel #1 Fortgeschrittene Ausgabe unter Verwendung von Bedingungen
<?php if ($expression == true): ?>
Dies wird angezeigt, wenn der Ausdruck wahr ist.
<?php else: ?>
Andernfalls wird dies angezeigt.
<?php endif; ?>
Für die Ausgabe von großen Textblöcken ist der Ausstieg aus dem Parse-Modus generell effizienter, als den gesamten Text durch echo oder print zu jagen.
Es gibt in PHP 5 bis zu fünf unterschiedliche Paare öffnender und schließender Tags, die
in Abhängigkeit von der PHP-Konfiguration verwendet werden können.
Zwei davon, <?php ?>
und <script
language="php"> </script>
, sind immer verfügbar.
Es gibt ebenfalls den kurzen Echo-Tag <?= ?>
,
der ab PHP 5.4.0 immer verfügbar ist.
Die anderen beiden sind Short-Tags und ASP-Tags. Das bedeutet, wenn einige Leute Short-Tags und ASP-Tags bequem finden, sind die daraus resultierenden Skripte nicht überall einsetzbar, so dass diese Tags grundsätzlich nicht empfehlenswert sind.
Hinweis:
Beachten Sie auch, dass Sie, wenn Sie PHP in XML oder XHTML einbinden wollen, die <?php ?>-Tags verwenden müssen, um keine Parserfehler aufgrund vermischter Standards zu provozieren.
PHP 7 entfernt die Unterstützung von ASP-Tags und
<script language="php">
Tags. Daher empfehlen wir beim
Schreiben von PHP-Code für maximale Kompatibilität nur
<?php ?>
und <?= ?>
zu verwenden.
Beispiel #2 Die öffnenden und schließenden Tags
1. <?php echo 'wenn Sie PHP-Code in XHTML oder XML-Dokumenten ausliefern wollen,
verwenden Sie diese Tags'; ?>
2. Sie können den kurzen Echo-Tag verwenden um <?= 'diese Zeichenkette auszugeben' ?>.
Jener ist ab PHP 5.4.0 immer verfügbar, und ist equivalent zu
<?php echo 'diese Zeichenkette auszugeben' ?>.
3. <? echo 'dieser Code befindet sich innerhalb von Short-Tags, und funktioniert nur, '.
'wenn short_open_tag aktiviert ist'; ?>
4. <script language="php">
echo 'manche Editoren (like FrontPage) mögen
keine Processing-Instructions innerhalb dieser Tags';
</script>
Diese Syntax wurde in PHP 7.0.0 entfernt.
5. <% echo 'Sie können optional ASP-Tags verwenden'; %>
Code innerhalb dieser Tags <%= $variable; %> ist eine Abkürzung für den Code <% echo $variable; %>
Diese beiden syntaktischen Konstrukte wurde in PHP 7.0.0 entfernt.
Short-Tags (Beispiel drei) sind nur verfügbar, wenn sie via short_open_tag-Direktive im php.ini-Konfigurationsfile eingeschaltet wurden, oder wenn PHP mit --enable-short-tags konfiguriert wurde.
ASP-Tags (Beispiel fünf) sind nur verfügbar, wenn sie mittels der asp_tags-Direktive im php.ini Konfigurationsfile eingeschaltet wurden, und wurden in PHP 7.0.0 entfernt.
Hinweis:
Die Verwendung der Short-Tags sollten Sie vermeiden, wenn Sie Applikationen oder Bibliotheken entwickeln, die für die Weitergabe oder den Einsatz auf nicht Ihrer Kontrolle unterstehenden PHP-Servern bestimmt sind, da es sein kann, dass Short-Tags auf dem Zielsystem nicht unterstützt werden. Um portablen, weiterverteilbaren Code zu haben, verwenden Sie keine Short-Tags.
Hinweis:
Unter PHP 5.2 und früher war es nicht erlaubt, dass der öffnende <?php Tag allein in einer Datei stand. Dies ist seit PHP 5.3 erlaubt, vorausgesetzt, dass wenigstens ein Whitespace-Zeichen auf den öffnenden Tag folgt.
Hinweis:
Beginnend mit PHP 5.4 wird der kurze Echo-Tag <?= immer erkannt und ist gültig, unabhängig von der short_open_tag Einstellung.