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

search for in the

Guia de nomenclatura em espaço de usuário> <Tabelas de comparação de tipo do PHP
Last updated: Fri, 22 Aug 2008

view this page in

Lista de tokens do Parser

Várias partes da linguagem PHP é representada internamente por tipo como T_SR. PHP mostra identificadores como este em erros de análise, como "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10."

Para quem não sabe o que T_SR significa, há uma uma tabela com todos identificadores, Sintaxe PHP e referências para o local apropriado no manual.

Tokens
Token Sintaxe Referência
T_ABSTRACT abstract Abstração de Objetos (disponível desde PHP 5.0.0)
T_AND_EQUAL &= operadores de atribuição
T_ARRAY array() array(), sintaxe do array
T_ARRAY_CAST (array) conversão de tipo
T_AS as foreach
T_BAD_CHARACTER   qualquer abaixo do ASCII 32 exceto \t (0x09), \n (0x0a) and \r (0x0d)
T_BOOLEAN_AND && operadores lógicos
T_BOOLEAN_OR || operadores lógicos
T_BOOL_CAST (bool) or (boolean) conversão de tipo
T_BREAK break break
T_CASE case switch
T_CATCH catch Exceções (disponível desde PHP 5.0.0)
T_CHARACTER    
T_CLASS class classes e objetos
T_CLASS_C __CLASS__ constantes mágicas (disponível desde PHP 4.3.0)
T_CLONE clone classes e objetos (available since PHP 5.0.0)
T_CLOSE_TAG ?> or %>  
T_COMMENT // or #, and /* */ in PHP 5 comentários
T_CONCAT_EQUAL .= operadores de atribuição
T_CONST const  
T_CONSTANT_ENCAPSED_STRING "foo" or 'bar' sintaxe da string
T_CONTINUE continue  
T_CURLY_OPEN    
T_DEC -- operadores de incremento/decremento
T_DECLARE declare declare
T_DEFAULT default switch
T_DIR __DIR__ constantes mágicas (disponível desde o PHP 5.3.0)
T_DIV_EQUAL /= operadores de atribuição
T_DNUMBER 0.12, etc números de ponto flutuante
T_DOC_COMMENT /** */ comentários estilo PHPDoc (disponível desde PHP 5.0.0)
T_DO do do..while
T_DOLLAR_OPEN_CURLY_BRACES ${ sintaxe complexa de variáveis.
T_DOUBLE_ARROW => sintaxe do array
T_DOUBLE_CAST (real), (double) or (float) conversão de tipo
T_DOUBLE_COLON :: veja T_PAAMAYIM_NEKUDOTAYIM abaixo
T_ECHO echo echo()
T_ELSE else else
T_ELSEIF elseif elseif
T_EMPTY empty empty()
T_ENCAPSED_AND_WHITESPACE    
T_ENDDECLARE enddeclare declare, sintaxe alternativa
T_ENDFOR endfor for, sintaxe alternativa
T_ENDFOREACH endforeach foreach, sintaxe alternativa
T_ENDIF endif if, sintaxe alternativa
T_ENDSWITCH endswitch switch, sintaxe alternativa
T_ENDWHILE endwhile while, sintaxe alternativa
T_END_HEREDOC   sintaxe heredoc
T_EVAL eval() eval()
T_EXIT exit or die exit(), die()
T_EXTENDS extends extends, classes and objetos
T_FILE __FILE__ constantes mágicas
T_FINAL final Palavra-Chave 'final' (disponível desde PHP 5.0.0)
T_FOR for for
T_FOREACH foreach foreach
T_FUNCTION function or cfunction funções
T_FUNC_C __FUNCTION__ constantes mágicas (disponível desde PHP 4.3.0)
T_GLOBAL global escopo de váriavel
T_HALT_COMPILER __halt_compiler() __halt_compiler (disponível desde PHP 5.1.0)
T_IF if if
T_IMPLEMENTS implements Interfaces de Objetos (disponível desde PHP 5.0.0)
T_INC ++ operadores de incremento/decremento
T_INCLUDE include() include()
T_INCLUDE_ONCE include_once() include_once()
T_INLINE_HTML    
T_INSTANCEOF instanceof tipos de operadores (available since PHP 5.0.0)
T_INT_CAST (int) or (integer) conversão de tipo
T_INTERFACE interface Interfaces de Objetos (disponível desde PHP 5.0.0)
T_ISSET isset() 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 != or <> 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_LIST list() list()
T_LNUMBER 123, 012, 0x1ac, etc inteiros
T_LOGICAL_AND and operadores lógicos
T_LOGICAL_OR or operadores lógicos
T_LOGICAL_XOR xor operadores lógicos
T_METHOD_C __METHOD__ constantes mágicas (disponível desde o PHP 5.0.0)
T_MINUS_EQUAL -= operadores de atribuição
T_ML_COMMENT /* and */ comentários (Somente no PHP 4)
T_MOD_EQUAL %= operadores de atribuição
T_MUL_EQUAL *= operadores de atribuição
T_NS_C __NAMESPACE__ namespaces. Também definido como T_NAMESPACE (disponível desde o PHP 5.3.0)
T_NEW new classes e objetos
T_NUM_STRING    
T_OBJECT_CAST (object) conversão de tipo
T_OBJECT_OPERATOR -> classes e objetos
T_OLD_FUNCTION old_function  
T_OPEN_TAG <?php, <? or <% escaping from HTML
T_OPEN_TAG_WITH_ECHO <?= or <%= escaping from 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_PRINT print() print()
T_PRIVATE private classes e objetos (disponível desde PHP 5.0.0)
T_PUBLIC public classes e objetos (disponível desde PHP 5.0.0)
T_PROTECTED protected classes e objetos (disponível desde PHP 5.0.0)
T_REQUIRE require() require()
T_REQUIRE_ONCE require_once() require_once()
T_RETURN return retornando valores
T_SL << operadores bit-a-bit
T_SL_EQUAL <<= operadores de atribuição
T_SR >> operadores bit-a-bit
T_SR_EQUAL >>= operadores de atribuição
T_START_HEREDOC <<< sintaxe heredoc
T_STATIC static escopo de variável
T_STRING    
T_STRING_CAST (string) conversão de tipo
T_STRING_VARNAME    
T_SWITCH switch switch
T_THROW throw Exceções (disponível desde PHP 5.0.0)
T_TRY try Exceções (disponível desde PHP 5.0.0)
T_UNSET unset() unset()
T_UNSET_CAST (unset) (não documentado; converte para NULL)
T_USE use namespaces (disponível desde o PHP 5.3.0)
T_VAR var classes e objetos
T_VARIABLE $foo variáveis
T_WHILE while while, do..while
T_WHITESPACE    
T_XOR_EQUAL ^= operadores de atribuição

Veja também token_name().



add a note add a note User Contributed Notes
Lista de tokens do Parser
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 | stats | sitemap | contact | advertising | mirror sites