Liste des tokens de l'analyseur

De nombreuses parties du langage PHP sont représentées en interne par des tokens. Littéralement, ce sont des trucs, ou jetons. Ici, des briques de base, comme T_SR. PHP affiche des identifiants comme celui-ci dans les erreurs d'analyse, par exemple : unexpected T_SR, expecting ',' or ';' in script.php on line 10..

Vous êtes suppposé savoir ce que T_SR signifie. Pour ceux qui ne le savent pas, voici une liste de ces identifiants, la syntaxe PHP correspondante, et les références appropriées au manuel.

Note: Utilisation des constantes T_*

Tous les tokens listés ci-dessous sont également définis comme constantes PHP. Leurs valeurs sont automatiquement générées suivant l'infrastructure sous jacente de PHP. Ceci signifie que la valeur concrète d'un token peut changer entre deux versions de PHP. Par exemple, la constante T_FILE vaut 365 en PHP 5.3, alors que la même valeur se réfère maintenant à la constante T_TRAIT en PHP 5.4 et la valeur de la constante T_FILE est de 369. Ceci signifie que votre code ne doit jamais utiliser la valeur littérale des constantes T_* depuis une version PHP X.Y.Z et ce, afin d'assurer une meilleure portabilité entre plusieurs versions de PHP. À la place, votre code doit utiliser les valeurs (utilisation de très grand nombre comme 10000) ainsi qu'une stratégie appropriée qui fonctionnera à la fois avec les versions de PHP et les valeurs T_*.

Tokens
Token Syntaxe Référence
T_ABSTRACT abstract Abstraction de classes
T_AND_EQUAL &= opérateurs d'assignation
T_ARRAY array() array(), syntaxe de tableau
T_ARRAY_CAST (array) transtypage
T_AS as foreach
T_BAD_CHARACTER   Tous les caractères en dessous de ASCII 32 excepté \t (0x09), \n (0x0a) et \r (0x0d)
T_BOOLEAN_AND && opérateurs logiques
T_BOOLEAN_OR || opérateurs logiques
T_BOOL_CAST (bool) ou (boolean) transtypage
T_BREAK break; break
T_CALLABLE callable callable
T_CASE case switch
T_CATCH catch Les exceptions
T_CHARACTER   Plus utilisé actuellement
T_CLASS class classes et objets
T_CLASS_C __CLASS__ constantes magiques
T_CLONE clone classes et objets
T_CLOSE_TAG ?> or %> échapper depuis le HTML
T_COALESCE ?? opérateurs de comparaison (disponible depuis PHP 7.0.0)
T_COMMENT // ou #, et /* */ commentaires
T_CONCAT_EQUAL .= opérateurs d'assignation
T_CONST const constantes de classe
T_CONSTANT_ENCAPSED_STRING "foo" ou 'bar' syntaxe chaîne de caractères
T_CONTINUE continue continue
T_CURLY_OPEN {$ syntaxe d'analyse de variable complexe
T_DEC -- opérateurs d'incrémention/décrémention
T_DECLARE declare declare
T_DEFAULT default switch
T_DIR __DIR__ constantes magiques (disponible depuis PHP 5.3.0)
T_DIV_EQUAL /= opérateurs d'assignation
T_DNUMBER 0.12, etc. nombres à virgule flottante
T_DOC_COMMENT /** */ style de commentaire dans la PHPDoc
T_DO do do...while
T_DOLLAR_OPEN_CURLY_BRACES ${ syntaxe de variable complexe analysée
T_DOUBLE_ARROW => syntaxe de tableau
T_DOUBLE_CAST (real), (double) ou (float) transtypage
T_DOUBLE_COLON :: Voyez T_PAAMAYIM_NEKUDOTAYIM plus bas
T_ECHO echo echo
T_ELLIPSIS ... les arguments de fonction (disponible depuis PHP 5.6.0)
T_ELSE else else
T_ELSEIF elseif elseif
T_EMPTY empty empty()
T_ENCAPSED_AND_WHITESPACE " $a" partie des constantes d'une chaîne de caractères contenant des variables
T_ENDDECLARE enddeclare declare, syntaxe alternative
T_ENDFOR endfor for, syntaxe alternative
T_ENDFOREACH endforeach foreach, syntaxe alternative
T_ENDIF endif if, syntaxe alternative
T_ENDSWITCH endswitch switch, syntaxe alternative
T_ENDWHILE endwhile while, syntaxe alternative
T_END_HEREDOC   syntaxe heredoc
T_EVAL eval() eval()
T_EXIT exit ou die exit(), die()
T_EXTENDS extends extends, classes et objets
T_FILE __FILE__ constantes magiques
T_FINAL final Mot-clé "final"
T_FINALLY finally Les exceptions (disponible depuis PHP 5.5.0)
T_FOR for for
T_FOREACH foreach foreach
T_FUNCTION function or cfunction fonctions
T_FUNC_C __FUNCTION__ constantes magiques
T_GLOBAL global scope de variable
T_GOTO goto goto (disponible depuis PHP 5.3.0)
T_HALT_COMPILER __halt_compiler() __halt_compiler (disponible depuis PHP 5.1.0)
T_IF if if
T_IMPLEMENTS implements Interfaces
T_INC ++ opérateurs d'incrémention/décrémention
T_INCLUDE include() include
T_INCLUDE_ONCE include_once() include_once
T_INLINE_HTML   texte en dehors de PHP
T_INSTANCEOF instanceof opérateurs de type
T_INSTEADOF insteadof Traits (disponible depuis PHP 5.4.0)
T_INT_CAST (int) ou (integer) transtypage
T_INTERFACE interface Interfaces
T_ISSET isset() isset()
T_IS_EQUAL == opérateurs de comparaison
T_IS_GREATER_OR_EQUAL >= opérateurs de comparaison
T_IS_IDENTICAL === opérateurs de comparaison
T_IS_NOT_EQUAL != ou <> opérateurs de comparaison
T_IS_NOT_IDENTICAL !== opérateurs de comparaison
T_IS_SMALLER_OR_EQUAL <= opérateurs de comparaison
T_SPACESHIP <=> opérateurs de comparaison (disponible depuis PHP 7.0.0)
T_LINE __LINE__ constantes magiques
T_LIST list() list()
T_LNUMBER 123, 012, 0x1ac, etc. entiers
T_LOGICAL_AND and opérateurs logiques
T_LOGICAL_OR or opérateurs logiques
T_LOGICAL_XOR xor opérateurs logiques
T_METHOD_C __METHOD__ constantes magiques
T_MINUS_EQUAL -= opérateurs d'assignation
T_MOD_EQUAL %= opérateurs d'assignation
T_MUL_EQUAL *= opérateurs d'assignation
T_NAMESPACE namespace namespaces (disponible PHP 5.3.0)
T_NS_C __NAMESPACE__ namespaces (disponible depuis PHP 5.3.0)
T_NS_SEPARATOR \ namespaces (disponible depuis PHP 5.3.0)
T_NEW new classes et objets
T_NUM_STRING "$a[0]" index d'un tableau numérique se trouvant dans une chaîne de caractères
T_OBJECT_CAST (object) transtypage
T_OBJECT_OPERATOR -> classes et objets
T_OPEN_TAG <?php, <? or <% sortie du mode HTML
T_OPEN_TAG_WITH_ECHO <?= ou <%= sortie du mode HTML
T_OR_EQUAL |= opérateurs d'assignation
T_PAAMAYIM_NEKUDOTAYIM :: ::. Définie également en tant que T_DOUBLE_COLON.
T_PLUS_EQUAL += opérateurs d'assignation
T_POW ** les opérateurs arithmétiques (disponible depuis PHP 5.6.0)
T_POW_EQUAL **= les opérateurs d'affectation. (disponible depuis PHP 5.6.0)
T_PRINT print() print
T_PRIVATE private classes et objets
T_PUBLIC public classes et objets
T_PROTECTED protected classes et objets
T_REQUIRE require() require
T_REQUIRE_ONCE require_once() require_once
T_RETURN return valeurs retournées
T_SL << opérateurs sur les bits
T_SL_EQUAL <<= opérateurs d'assignation
T_SR >> opérateurs sur les bits
T_SR_EQUAL >>= opérateurs d'assignation
T_START_HEREDOC <<< syntaxe heredoc
T_STATIC static scope de variable
T_STRING parent, self, etc. identifiants, e.g. mots-clés comme parent et self, noms de fonctions, classes et autres, correspondent. Voir aussi T_CONSTANT_ENCAPSED_STRING.
T_STRING_CAST (string) transtypage
T_STRING_VARNAME "${a syntaxe d'analyse d'une variable complexe
T_SWITCH switch switch
T_THROW throw Les exceptions
T_TRAIT trait Traits (disponible depuis PHP 5.4.0)
T_TRAIT_C __TRAIT__ __TRAIT__ (disponible depuis PHP 5.4.0)
T_TRY try Les exceptions
T_UNSET unset() unset()
T_UNSET_CAST (unset) type-casting
T_USE use namespaces (disponible depuis PHP 5.3.0)
T_VAR var classes et objets
T_VARIABLE $foo variables
T_WHILE while while, do...while
T_WHITESPACE \t \r\n  
T_XOR_EQUAL ^= opérateurs d'assignation
T_YIELD yield générateurs (disponible depuis PHP 5.5.0)
T_YIELD_FROM yield from générateurs (disponible depuis PHP 7.0.0)

Voir aussi token_name().