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