downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Guide de nommage de l'espace utilisateur> <Comparaison de types en PHP
[edit] Last updated: Mon, 01 Nov 2010

view this page in

Annexe Q. Liste des tokens de l'analyseur

De nombreuses parties du langage PHP sont représentées en interne par des tokens. Lité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.

Tableau Q-1. Tokens

TokenSyntaxeRéférence
T_ABSTRACTabstractla section intitulée Abstraction de classes dans Chapitre 19 (disponible depuis PHP 5.0.0)
T_AND_EQUAL&=opérateurs d'assignation
T_ARRAYarray()array(), syntaxe de tableau
T_ARRAY_CAST(array)transtypage
T_ASasforeach
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_BREAKbreak;break
T_CASEcaseswitch
T_CATCHcatchChapitre 20 (disponible depuis PHP 5.0.0)
T_CHARACTER  
T_CLASSclassclasses et objets
T_CLONEcloneclasses et objets. PHP 5 uniquement.
T_CLOSE_TAG?> ou %> 
T_COMMENT// ou #, et /* */ en PHP 5commentaires
T_CONCAT_EQUAL.=opérateurs d'assignation
T_CONSTconst 
T_CONSTANT_ENCAPSED_STRING"foo" ou 'bar'syntaxe chaîne de caractères
T_CONTINUEcontinue 
T_CURLY_OPEN  
T_DEC--opérateurs d'incrémention/décrémention
T_DECLAREdeclaredeclare
T_DEFAULTdefaultswitch
T_DIV_EQUAL/=opérateurs d'assignation
T_DNUMBER0.12, etc.nombres à virgule flottante
T_DOC_COMMENT/** */style de commentaire dans la PHPDoc (PHP 5 uniquement)
T_DOdodo...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_ECHOechoecho()
T_ELSEelseelse
T_ELSEIFelseifelseif
T_EMPTYemptyempty()
T_ENCAPSED_AND_WHITESPACE  
T_ENDDECLAREenddeclaredeclare, syntaxe alternative
T_ENDFORendforfor, syntaxe alternative
T_ENDFOREACHendforeachforeach, syntaxe alternative
T_ENDIFendifif, syntaxe alternative
T_ENDSWITCHendswitchswitch, syntaxe alternative
T_ENDWHILEendwhilewhile, syntaxe alternative
T_END_HEREDOC syntaxe heredoc
T_EVALeval()eval()
T_EXITexit or dieexit(), die()
T_EXTENDSextendsextends, classes et objets
T_FILE__FILE__constantes
T_FINALfinalla section intitulée Mot clé "final" dans Chapitre 19 (disponible depuis PHP 5.0.0)
T_FORforfor
T_FOREACHforeachforeach
T_FUNCTIONfunction or cfunctionfonctions
T_GLOBALglobalscope de variable
T_HALT_COMPILER__halt_compiler()__halt_compiler (disponible depuis PHP 5.1.0)
T_IFifif
T_IMPLEMENTSimplementsla section intitulée Interfaces dans Chapitre 19 (disponible depuis PHP 5.0.0)
T_INC++opérateurs d'incrémention/décrémention
T_INCLUDEinclude()include()
T_INCLUDE_ONCEinclude_once()include_once()
T_INLINE_HTML  
T_INSTANCEOFinstanceofopérateurs de type (PHP5 seulement)
T_INT_CAST(int) ou (integer)transtypage
T_INTERFACEinterfacela section intitulée Interfaces dans Chapitre 19 (dipsonible depuis PHP 5.0.0)
T_ISSETisset()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_LINE__LINE__constants
T_LISTlist()list()
T_LNUMBER123, 012, 0x1ac, etcentiers
T_LOGICAL_ANDandopérateurs logiques
T_LOGICAL_ORoropérateurs logiques
T_LOGICAL_XORxoropérateurs logiques
T_MINUS_EQUAL-=opérateurs d'assignation
T_ML_COMMENT/* et */commentaires (PHP 4 uniquement)
T_MOD_EQUAL%=opérateurs d'assignation
T_MUL_EQUAL*=opérateurs d'assignation
T_NEWnewclasses et objets
T_NUM_STRING  
T_OBJECT_CAST(object)transtypage
T_OBJECT_OPERATOR->classes et objets
T_OLD_FUNCTIONold_functionold_function
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_PRINTprint()print()
T_PRIVATEprivateclasses et objets. PHP 5 uniquement.
T_PUBLICpublicclasses et objets. PHP 5 uniquement.
T_PROTECTEDprotectedclasses et objets. PHP 5 uniquement.
T_REQUIRErequire()require()
T_REQUIRE_ONCErequire_once()require_once()
T_RETURNreturnvaleurs 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_STATICstaticscope de variable
T_STRING  
T_STRING_CAST(string)transtypage
T_STRING_VARNAME  
T_SWITCHswitchswitch
T_THROWthrowChapitre 20 (disponible depuis PHP 5.0.0)
T_TRYtryChapitre 20 (disponible depuis PHP 5.0.0)
T_UNSETunset()unset()
T_UNSET_CAST(unset)(non documenté; forcé à NULL)
T_USEuse(pas implémenté)
T_VARvarclasses et objets
T_VARIABLE$foovariables
T_WHILEwhilewhile, do...while
T_WHITESPACE  
T_XOR_EQUAL^=opérateurs d'assignation
T_FUNC_C__FUNCTION__constantes, depuis PHP 4.3.0
T_CLASS_C__CLASS__constantes, depuis PHP 4.3.0

Voir aussi token_name().



add a note add a note User Contributed Notes Liste des tokens de l'analyseur
fgm at osinet dot fr 22-Sep-2008 01:08
T_ENCAPSED_AND_WHITESPACED is returned when parsing strings with evaluated content, like "some $value" or this example from the Strings reference page:

<?php
echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some
{$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>

This last example is tokenized as:
T_ECHO
  echo
T_WHITESPACE
  %20 (a space character)
T_START_HEREDOC
  <<
T_ENCAPSED_AND_WHITESPACE
  My name is "
T_VARIABLE
  $name
T_ENCAPSED_AND_WHITESPACE   
  ". I am printing some
T_VARIABLE   
  $foo
T_OBJECT_OPERATOR   
  ->
T_STRING   
  foo
T_ENCAPSED_AND_WHITESPACE   
  . Now, I am printing some
T_CURLY_OPEN   
  {
T_VARIABLE   
  $foo
T_OBJECT_OPERATOR   
  ->
T_STRING   
  bar
(terminal)
  [
T_LNUMBER   
  1
(terminal)
  ]
(terminal)
  }
T_ENCAPSED_AND_WHITESPACE   
  . This should print a capital 'A': \x41
T_END_HEREDOC
  EOT
(terminal)
  ;
nathan at unfinitydesign dot com 22-Sep-2008 05:52
T_ENCAPSED_AND_WHITESPACE is whitespace which intersects a group of tokens. For example, an "unexpected T_ENCAPSED_AND_WHITESPACE" error is produced by the following code:

<?php
$main_output_world
= 'snakes!'
echo('There are' 10 $main_output_world);
?>

Note the missing concatenation operator between the two strings leads to the whitespace error that is so named above. The concatenation operator instructs PHP to ignore the whitespace between the two code tokens (the so named "encapsed" data"), rather than parse it as a token itself.

The correct code would be:

<?php
$main_output_world
= 'snakes!'
echo('There are' . 10 . $main_output_world);
?>

Note the addition of the concatenation operator between each token.
o_O Tync 03-Aug-2008 08:21
Some tokens are not documented, so here they are:
all of them are located within non-constant ""-strings:

T_CHARACTER - \r\n\t... . They're presented AS IS and NOT replaced with actual characters

T_ENCAPSED_AND_WHITESPACE - whitespace

T_DOLLAR_OPEN_CURLY_BRACES - ${ (ONLY in non-constant ""-strings)

T_STRING - strings (example: "$a aa")

T_NUM_STRING - numbers (exaple: "$a 0")

still have no idea what T_ENCAPSED_AND_WHITESPACE means... :(

 
show source | credits | sitemap | contact | advertising | mirror sites