Liste der Parsertoken

Verschiedene Teile der Sprache PHP werden intern durch Typen wie T_SR repräsentiert. PHP gibt Bezeichner wie diese in Parserfehlermeldungen wie "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10." aus.

Ein Entwickler sollte wissen, was T_SR bedeutet. Für all diejenigen, die das nicht wissen, wird hier eine Tabelle mit diesen Bezeichnern, der PHP-Syntax und Verweisen zu den entsprechenden Stellen im Handbuch aufgeführt.

Hinweis: Verwendung der T_* Konstanten

Alle Token, die weiter unten aufgeführt werden, sind ebenfalls als PHP Konstanten verfügbar. Ihr Wert wird basierend auf der zugrundeliegenden Parser-Infrastruktur von PHP automatisch festgelegt. Das bedeutet, dass sich der konkrete Wert eines Tokens zwischen zwei PHP-Versionen ändern kann. Beispielsweise ist die T_FILE Konstante in PHP 5.3 gleich 365, wohingegen der selbe Wert in PHP 5.4 T_TRAIT entspricht. Daher sollte sich Code niemals direkt auf die Original-Werte, die einer PHP-Version X.Y.Z entnommen wurden, verlassen, damit eine gewisse Kompatibilität über mehrere PHP-Version gewährleistet ist. Statt dessen sollte der Code benutzerdefinierte Werte (unter Verwendung großer Zahlen wie 10000), und eine angebrachte Strategie, die mit allen PHP-Versionen und T_* Werten funktioniert, verwenden.

Token
Token Syntax Referenz
T_ABSTRACT abstract Klassenabstraktion
T_AND_EQUAL &= Zuweisungsoperatoren
T_ARRAY array() array(), Arraysyntax
T_ARRAY_CAST (array) Typumwandlung
T_AS as foreach
T_BAD_CHARACTER   Alle Zeichen unterhalb von ASCII 32 mit Ausnahme von \t (0x09), \n (0x0a) und \r (0x0d)
T_BOOLEAN_AND && Logische Operatoren
T_BOOLEAN_OR || Logische Operatoren
T_BOOL_CAST (bool) or (boolean) Typumwandlung
T_BREAK break break
T_CALLABLE callable callable
T_CASE case switch
T_CATCH catch Ausnahmebehandlung (Exception-Handling)
T_CHARACTER   nicht mehr verwendet
T_CLASS class Klassen und Objekte
T_CLASS_C __CLASS__ Magische Konstanten
T_CLONE clone Klassen und Objekte
T_CLOSE_TAG ?> oder %> Den HTML-Bereich der Datei verlassen
T_COALESCE ?? Vergleichsoperatoren (verfügbar ab PHP 7.0.0)
T_COMMENT // oder #, und /* */ Kommentare
T_CONCAT_EQUAL .= Zuweisungsoperatoren
T_CONST const Klassenkonstanten
T_CONSTANT_ENCAPSED_STRING "foo" oder 'bar' Stringsyntax
T_CONTINUE continue continue
T_CURLY_OPEN {$ komplexe Variableninterpolationssyntax
T_DT_DECEC -- Inkrement- bzw. Dekrementoperatoren
T_DECLARE declare declare
T_DEFAULT default switch
T_DIR __DIR__ Magische Konstanten (verfügbar ab PHP 5.3.0)
T_DIV_EQUAL /= Zuweisungsoperatoren
T_DNUMBER 0.12, etc Fließkommawerte
T_DOC_COMMENT /** */ Kommentare im PHPDoc Stil
T_DO do do..while
T_DOLLAR_OPEN_CURLY_BRACES ${ komplexe Variableninterpolationssyntax
T_DOUBLE_ARROW => Arraysyntax
T_DOUBLE_CAST (real), (double) or (float) Typumwandlung
T_DOUBLE_COLON :: Siehe T_PAAMAYIM_NEKUDOTAYIM weiter unten
T_ECHO echo echo
T_ELLIPSIS ... Funktionsargumente (verfügbar ab PHP 5.6.0)
T_ELSE else else
T_ELSEIF elseif elseif
T_EMPTY empty empty()
T_ENCAPSED_AND_WHITESPACE " $a" Konstanter Teil einer Zeichenkette mit Variablen
T_ENDDECLARE enddeclare declare, Alternative Syntax
T_ENDFOR endfor for, Alternative Syntax
T_ENDFOREACH endforeach foreach, Alternative Syntax
T_ENDIF endif if, Alternative Syntax
T_ENDSWITCH endswitch switch, Alternative Syntax
T_ENDWHILE endwhile while, Alternative Syntax
T_END_HEREDOC   Heredoc-Syntax
T_EVAL eval() eval()
T_EXIT exit oder die exit(), die()
T_EXTENDS extends extends, Klassen und Objekte
T_FILE __FILE__ Magische Konstanten
T_FINAL final Final-Schlüsselwort
T_FINALLY finally Ausnahmebehandlung (Exception-Handling) (verfügbar ab PHP 5.5.0)
T_FOR for for
T_FOREACH foreach foreach
T_FUNCTION function oder cfunction Funktionen
T_FUNC_C __FUNCTION__ Magische Konstanten
T_GLOBAL global Geltungsbereich von Variablen
T_GOTO goto goto(verfügbar ab PHP 5.3.0)
T_HALT_COMPILER __halt_compiler() __halt_compiler (verfügbar ab PHP 5.1.0)
T_IF if if
T_IMPLEMENTS implements Interfaces
T_INC ++ Inkrement- bzw. Dekrementoperatoren
T_INCLUDE include() include
T_INCLUDE_ONCE include_once() include_once
T_INLINE_HTML   Text außerhalb von PHP
T_INSTANCEOF instanceof Typoperatoren
T_INSTEADOF insteadof Traits (verfügbar ab PHP 5.4.0)
T_INT_CAST (int) oder (integer) Typumwandlung
T_INTERFACE interface Interfaces
T_ISSET isset() isset()
T_IS_EQUAL == Vergleichsoperatoren
T_IS_GREATER_OR_EQUAL >= Vergleichsoperatoren
T_IS_IDENTICAL === Vergleichsoperatoren
T_IS_NOT_EQUAL != or <> Vergleichsoperatoren
T_IS_NOT_IDENTICAL !== Vergleichsoperatoren
T_IS_SMALLER_OR_EQUAL <= Vergleichsoperatoren
T_SPACESHIP <=> Vergleichsoperatoren (verfügbar ab PHP 7.0.0)
T_LINE __LINE__ Magische Konstanten
T_LIST list() list()
T_LNUMBER 123, 012, 0x1ac, etc Integerwerte
T_LOGICAL_AND and Logische Operatoren
T_LOGICAL_OR or Logische Operatoren
T_LOGICAL_XOR xor Logische Operatoren
T_METHOD_C __METHOD__ Magische Konstanten
T_MINUS_EQUAL -= Zuweisungsoperatoren
T_MOD_EQUAL %= Zuweisungsoperatoren
T_MUL_EQUAL *= Zuweisungsoperatoren
T_NAMESPACE namespace Namensräume (verfügbar ab PHP 5.3.0)
T_NS_C __NAMESPACE__ Namensräume.
T_NS_SEPARATOR \ Namensräume (verfügbar ab PHP 5.3.0)
T_NEW new Klassen und Objekte
T_NUM_STRING "$a[0]" Numerischer Array-Index innerhalb einer Zeichenkette
T_OBJECT_CAST (object) Typumwandlung
T_OBJECT_OPERATOR -> Klassen und Objekte
T_OPEN_TAG <?php, <? or <% HTML-Bereich der Datei verlassen
T_OPEN_TAG_WITH_ECHO <?= or <%= HTML-Bereich der Datei verlassen
T_OR_EQUAL |= Zuweisungsoperatoren
T_PAAMAYIM_NEKUDOTAYIM :: ::. Auch definiert als T_DOUBLE_COLON.
T_PLUS_EQUAL += Zuweisungsoperatoren
T_POW ** Arithmetische Operatoren (verfügbar ab PHP 5.6.0)
T_POW_EQUAL **= Zuweisungsoperatoren (verfügbar ab PHP 5.6.0)
T_PRINT print() print
T_PRIVATE private Klassen und Objekte
T_PUBLIC public Klassen und Objekte
T_PROTECTED protected Klassen und Objekte
T_REQUIRE require() require
T_REQUIRE_ONCE require_once() require_once
T_RETURN return Rückgabe von Werten
T_SL << Bitweise Operatoren
T_SL_EQUAL <<= Zuweisungsoperatoren
T_SR >> Bitweise Operatoren
T_SR_EQUAL >>= Zuweisungsoperatoren
T_START_HEREDOC <<< Heredoc-Syntax
T_STATIC static Geltungsbereich von Variablen
T_STRING parent, self, etc. Dabei handelt es sich um Bezeichner, z.B. Schlüsselwörter wie parent und self, Funktionsnamen, Klassennamen usw. Vgl. T_CONSTANT_ENCAPSED_STRING.
T_STRING_CAST (string) Typumwandlung
T_STRING_VARNAME "${a komplexe Variableninterpolationssyntax
T_SWITCH switch switch
T_THROW throw Ausnahmebehandlung (Exception-Handling)
T_TRAIT trait Traits (verfügbar ab PHP 5.4.0)
T_TRAIT_C __TRAIT__ __TRAIT__ (verfügbar ab PHP 5.4.0)
T_TRY try Ausnahmebehandlung (Exception-Handling)
T_UNSET unset() unset()
T_UNSET_CAST (unset) Typumwandlung
T_USE use Namensräume (verfügbar ab PHP 5.3.0)
T_VAR var Klassen und Objekte
T_VARIABLE $foo Variablen
T_WHILE while while, do..while
T_WHITESPACE \t \r\n  
T_XOR_EQUAL ^= Zuweisungsoperatoren
T_YIELD yield Generatoren (verfügbar ab PHP 5.5.0)
T_YIELD_FROM yield from Generator (verfügbar ab PHP 7.0.0)

Siehe auch token_name().