Lista de Tokens do Parser

Várias partes da linguagem PHP são representadas internamente por tokens. Um trecho de código que contém uma sequẽncia inválida de tokens podem ocasionar erros como Parse error: syntax error, unexpected token "==", expecting "(" in script.php on line 10." onde o token == é internamente representado pelo identificador T_IS_EQUAL.

A tabela a seguir lista todos os tokens, disponíveis como constantes no PHP.

Nota: Uso das constantes T_*

Os valores das constantes T_* são gerados automaticamente pela infraestrutura do interpretador do PHP, sem estabilidade. Isto significa que o valor real de um token pode mudar entre duas versões do PHP. Isso significa que seu código nunca deve depender diretamente dos valores originais de T_* levando em consideração uma versão específica do PHP, para que seu código funcione em várias versões do PHP.

Para utilizar as constantes T_* entre várias versões do PHP, constantes não definidas podem ser criadas pelo usuário (utilizando-se grandes números, a partir de 10000) como uma estratégia apropriada que funcionará entre versões do PHP e os valores automaticamente definidos.

<?php
// Anteriormente ao PHP 7.4.0, T_FN não era definido.
defined('T_FN') || define('T_FN', 10001);
Tokens
TokenSintaxeReferência
T_ABSTRACTabstractAbstração de Classes
T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG&Declarações de tipo (disponível desde o PHP 8.1.0)
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG&Declarações de tipo (disponível desde o PHP 8.1.0)
T_AND_EQUAL&=operadores de atribuição
T_ARRAYarray()array(), sintaxe de array
T_ARRAY_CAST(array)conversão de tipo
T_ASasforeach
T_ATTRIBUTE#[attributes (a partir do PHP 8.0.0)
T_BAD_CHARACTER  qualquer coisa abaixo de ASCII 32 exceto \t (0x09), \n (0x0a) and \r (0x0d) (disponível a partir do PHP 7.4.0)
T_BOOLEAN_AND&&operadores lógicos
T_BOOLEAN_OR||operadores lógicos
T_BOOL_CAST(bool) ou (boolean)conversão de tipos
T_BREAKbreakbreak
T_CALLABLEcallablecallable
T_CASEcaseswitch
T_CATCHcatchExceções
T_CLASSclassclasses e objetos
T_CLASS_C__CLASS__constantes mágicas
T_CLONEcloneclasses e objetos
T_CLOSE_TAG?> ou %>escapando o HTML
T_COALESCE??operadores de comparação
T_COALESCE_EQUAL??=operadores de assimilação (disponível a partir do PHP 7.4.0)
T_COMMENT// ou #, e comentários
T_CONCAT_EQUAL.=operadores de atribuição
T_CONSTconstconstantes
T_CONSTANT_ENCAPSED_STRING"foo" ou 'bar'sintaxe de string
T_CONTINUEcontinuecontinue
T_CURLY_OPEN{$sintaxe complexa de parse (chaves)
T_DEC--operadores de incremento/ decremento
T_DECLAREdeclaredeclare
T_DEFAULTdefaultswitch
T_DIR__DIR__constantes mágicas
T_DIV_EQUAL/=operadores de atribuição
T_DNUMBER0.12, etc.números de ponto flutuante
T_DOdodo..while
T_DOC_COMMENTcomentários PHPDoc
T_DOLLAR_OPEN_CURLY_BRACES${sintaxe complexa de parse (chaves)
T_DOUBLE_ARROW=>sintaxe de array
T_DOUBLE_CAST(real), (double) ou (float)conversão de tipos
T_DOUBLE_COLON::veja T_PAAMAYIM_NEKUDOTAYIM abaixo
T_ECHOechoecho
T_ELLIPSIS...argumentos de função
T_ELSEelseelse
T_ELSEIFelseifelseif
T_EMPTYemptyempty()
T_ENCAPSED_AND_WHITESPACE" $a"interpretação de variáveis em strings
T_ENDDECLAREenddeclaredeclare, sintaxe alternativa
T_ENDFORendforfor, sintaxe alternativa
T_ENDFOREACHendforeachforeach, sintaxe alternativa
T_ENDIFendifif, sintaxe alternativa
T_ENDSWITCHendswitchswitch, sintaxe alternativa
T_ENDWHILEendwhilewhile, sintaxe alternativa
T_ENUMenumEnumerations (disponível desde o PHP 8.1.0)
T_END_HEREDOC sintaxe heredoc
T_EVALeval()eval()
T_EXITexit ou dieexit(), die()
T_EXTENDSextendsextends, classes e objetos
T_FILE__FILE__constantes mágicas
T_FINALfinalfinal
T_FINALLYfinallyExceções
T_FNfnfunção seta (disponível a partir do PHP 7.4.0)
T_FORforfor
T_FOREACHforeachforeach
T_FUNCTIONfunçãofunções
T_FUNC_C__FUNCTION__constantes mágicas
T_GLOBALglobalescopo de variáveis
T_GOTOgotogoto
T_HALT_COMPILER__halt_compiler()__halt_compiler
T_IFifif
T_IMPLEMENTSimplementsInterfaces de Objetos
T_INC++operadores de incremento/decremento
T_INCLUDEincludeinclude
T_INCLUDE_ONCEinclude_onceinclude_once
T_INLINE_HTML escapando o HTML
T_INSTANCEOFinstanceofoperadores de tipo
T_INSTEADOFinsteadofTraits
T_INTERFACEinterfaceInterfaces de Objetos
T_INT_CAST(int) ou (integer)conversão de tipos
T_ISSETisset()isset()
T_IS_EQUAL==operadores de comparação
T_IS_GREATER_OR_EQUAL>=operadores de comparação
T_IS_IDENTICAL===operadores de comparação
T_IS_NOT_EQUAL!= ou <>operadores de comparação
T_IS_NOT_IDENTICAL!==operadores de comparação
T_IS_SMALLER_OR_EQUAL<=operadores de comparação
T_LINE__LINE__constantes mágicas
T_LISTlist()list()
T_LNUMBER123, 012, 0x1ac, etc.inteiros
T_LOGICAL_ANDandoperadores lógicos
T_LOGICAL_ORoroperadores lógicos
T_LOGICAL_XORxoroperadores lógicos
T_MATCHmatchmatch (a partir do PHP 8.0.0)
T_METHOD_C__METHOD__constantes mágicas
T_MINUS_EQUAL-=operadores de atribuição
T_MOD_EQUAL%=operadores de atribuição
T_MUL_EQUAL*=operadores de atribuição
T_NAMESPACEnamespacenamespaces
T_NAME_FULLY_QUALIFIED\App\Namespacenamespaces (a partir do PHP 8.0.0)
T_NAME_QUALIFIEDApp\Namespacenamespaces (a partir do PHP 8.0.0)
T_NAME_RELATIVEnamespace\Namespacenamespaces (a partir do PHP 8.0.0)
T_NEWnewclasses e objetos
T_NS_C__NAMESPACE__namespaces
T_NS_SEPARATOR\namespaces
T_NUM_STRING"$a[0]"interpretação de variáveis em strings
T_OBJECT_CAST(object)conversão de tipos
T_OBJECT_OPERATOR->classes e objetos
T_NULLSAFE_OBJECT_OPERATOR?->classes e objetos
T_OPEN_TAG<?php, <? ou <%escapando o HTML
T_OPEN_TAG_WITH_ECHO<?= ou <%=escapando o HTML
T_OR_EQUAL|=operadores de atribuição
T_PAAMAYIM_NEKUDOTAYIM::::. Também definido como T_DOUBLE_COLON.
T_PLUS_EQUAL+=operadores de atribuição
T_POW**operadores aritméticos
T_POW_EQUAL**=operadores de atribuição
T_PRINTprintprint
T_PRIVATEprivateclasses e objetos
T_PROTECTEDprotectedclasses e objetos
T_PUBLICpublicclasses e objetos
T_READONLYreadonlyclasses e objetos (a partir do PHP 8.1.0)
T_REQUIRErequirerequire
T_REQUIRE_ONCErequire_oncerequire_once
T_RETURNreturnretornando valores
T_SL<<operador bit-a-bit
T_SL_EQUAL<<=operadores de atribuição
T_SPACESHIP<=>operadores de comparação
T_SR>>operador bit-a-bit
T_SR_EQUAL>>=operadores de atribuição
T_START_HEREDOC<<<sintaxe heredoc
T_STATICstaticescopo de variáveis
T_STRINGparent, self, etc. identificadores, ex. palavras-chaves tais como parent e self, nomes de função, nomes de classe e outros correspondem a esta categoria. Veja também T_CONSTANT_ENCAPSED_STRING.
T_STRING_CAST(string)conversão de tipos
T_STRING_VARNAME"${asintaxe complexa de parse (chaves)
T_SWITCHswitchswitch
T_THROWthrowExceções
T_TRAITtraitTraits
T_TRAIT_C__TRAIT____TRAIT__
T_TRYtryExceções
T_UNSETunset()unset()
T_UNSET_CAST(unset)conversão de tipos
T_USEusenamespaces
T_VARvarclasses e objetos
T_VARIABLE$foovariáveis
T_WHILEwhilewhile, do..while
T_WHITESPACE\t \r\n 
T_XOR_EQUAL^=operadores de atribuição
T_YIELDyieldgenerators
T_YIELD_FROMyield fromgenerators

Veja também token_name().

To Top