Список меток (tokens) парсера
Вернуться к: Appendices
Различные части PHP внутренне представлены типами вроде T_SR. PHP выводит идентификаторы вроде этого в ошибках парсинга, например: "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10."
Предполагается, что вы знаете что означает T_SR. Для всех, кто этого не знает ниже есть таблица этих идентификаторов с синтаксисом и ссылками на соответствующие разделы документации.
Замечание: Использование T_* констант
Все метки приведенные ниже также являются PHP-константами. Их значение автоматически генерируется на основе базовой инфраструктуры анализатора РНР. Это означает, что конкретное значение метки может изменяться между двумя версиями PHP. Например, константа T_FILE имеет значение 365 в PHP 5.3, в то время как это же значение относится к T_TRAIT в PHP 5.4, а значение константы T_FILE равно 369. Это означает, что для обеспечения совместивости в различных версиях PHP ваш код никогда не должен зависеть напрямую от значений T_* констант из какой-либо определенной версии PHP. Вместо этого ваш код должен использовать собственные значения (использовать длинные числа типа 10000) и соответствующую стратегию, которая будет работать со всеми версиями PHP и значениями T_* констант.
| Метка | Синтаксис | Ссылка |
|---|---|---|
| T_ABSTRACT | abstract | Абстрактные классы (начиная с PHP 5.0.0) |
| T_AND_EQUAL | &= | операторы присваивания |
| T_ARRAY | array() | array(), синтаксис массива |
| T_ARRAY_CAST | (array) | приведение типа |
| T_AS | as | foreach |
| T_BAD_CHARACTER | все что ниже ASCII 32 исключая \t (0x09), \n (0x0a) и \r (0x0d) | |
| T_BOOLEAN_AND | && | логические операторы |
| T_BOOLEAN_OR | || | логические операторы |
| T_BOOL_CAST | (bool) or (boolean) | приведение типа |
| T_BREAK | break | break |
| T_CASE | case | switch |
| T_CATCH | catch | Исключения (начиная с PHP 5.0.0) |
| T_CHARACTER | больше не используется | |
| T_CLASS | class | классы и объекты |
| T_CLASS_C | __CLASS__ | магические константы (начиная с PHP 4.3.0) |
| T_CLONE | clone | классы и объекты (начиная с PHP 5.0.0) |
| T_CLOSE_TAG | ?> or %> | PHP-код внутри HTML |
| T_COMMENT | // или #, и /* */ в PHP 5 | комментарии |
| T_CONCAT_EQUAL | .= | операторы присваивания |
| T_CONST | const | константы класса |
| T_CONSTANT_ENCAPSED_STRING | "foo" или 'bar' | строковой синтаксис |
| T_CONTINUE | continue | continue |
| T_CURLY_OPEN | {$ | переменные внутри строки |
| T_DEC | -- | операторы инкремента\декремента |
| T_DECLARE | declare | declare |
| T_DEFAULT | default | switch |
| T_DIR | __DIR__ | магические константы (начиная с PHP 5.3.0) |
| T_DIV_EQUAL | /= | операторы присваивания |
| T_DNUMBER | 0.12, и т.д. | числа с плавающей точкой |
| T_DOC_COMMENT | /** */ | PHPDoc-комментарии (начиная с PHP 5.0.0) |
| T_DO | do | do..while |
| T_DOLLAR_OPEN_CURLY_BRACES | ${ | переменная внутри строки |
| T_DOUBLE_ARROW | => | синтаксис массивов |
| T_DOUBLE_CAST | (real), (double) или (float) | приведение типов |
| T_DOUBLE_COLON | :: | см. ниже T_PAAMAYIM_NEKUDOTAYIM |
| T_ECHO | echo | echo() |
| T_ELSE | else | else |
| T_ELSEIF | elseif | elseif |
| T_EMPTY | empty | empty() |
| T_ENCAPSED_AND_WHITESPACE | " $a" | константная часть строки с переменными |
| T_ENDDECLARE | enddeclare | declare, альтернативный синтаксис |
| T_ENDFOR | endfor | for, альтернативный синтаксис |
| T_ENDFOREACH | endforeach | foreach, альтернативный синтаксис |
| T_ENDIF | endif | if, альтернативный синтаксис |
| T_ENDSWITCH | endswitch | switch, альтернативный синтаксис |
| T_ENDWHILE | endwhile | while, альтернативный синтаксис |
| T_END_HEREDOC | синтаксис heredoc | |
| T_EVAL | eval() | eval() |
| T_EXIT | exit or die | exit(), die() |
| T_EXTENDS | extends | extends, классы и объекты |
| T_FILE | __FILE__ | магические константы |
| T_FINAL | final | Ключевое слово "final" (доступно с PHP 5.0.0) |
| T_FOR | for | for |
| T_FOREACH | foreach | foreach |
| T_FUNCTION | function or cfunction | функции |
| T_FUNC_C | __FUNCTION__ | магические константы (начиная с PHP 4.3.0) |
| T_GLOBAL | global | область видимости переменной |
| T_GOTO | goto | (доступно с PHP 5.3.0) |
| T_HALT_COMPILER | __halt_compiler() | __halt_compiler (доступно с PHP 5.1.0) |
| T_IF | if | if |
| T_IMPLEMENTS | implements | Интерфейсы объектов (доступно с PHP 5.0.0) |
| T_INC | ++ | операторы инкремента\декремента |
| T_INCLUDE | include() | include() |
| T_INCLUDE_ONCE | include_once() | include_once() |
| T_INLINE_HTML | текст вне PHP | |
| T_INSTANCEOF | instanceof | операторы типа (начиная с PHP 5.0.0) |
| T_INT_CAST | (int) или (integer) | приведение типов |
| T_INTERFACE | interface | Интерфейсы объектов (начиная с PHP 5.0.0) |
| T_ISSET | isset() | isset() |
| T_IS_EQUAL | == | операторы сравнения |
| T_IS_GREATER_OR_EQUAL | >= | операторы сравнения |
| T_IS_IDENTICAL | === | операторы сравнения |
| T_IS_NOT_EQUAL | != or <> | операторы сравнения |
| T_IS_NOT_IDENTICAL | !== | операторы сравнения |
| T_IS_SMALLER_OR_EQUAL | <= | операторы сравнения |
| T_LINE | __LINE__ | магические константы |
| T_LIST | list() | list() |
| T_LNUMBER | 123, 012, 0x1ac, и т.д. | целые числа |
| T_LOGICAL_AND | and | логические операторы |
| T_LOGICAL_OR | or | логические операторы |
| T_LOGICAL_XOR | xor | логические операторы |
| T_METHOD_C | __METHOD__ | магические константы (начиная с PHP 5.0.0) |
| T_MINUS_EQUAL | -= | операторы присваивания |
| T_ML_COMMENT | /* и */ | комментарии (только PHP 4) |
| T_MOD_EQUAL | %= | операторы присваивания |
| T_MUL_EQUAL | *= | операторы присваивания |
| T_NAMESPACE | namespace | пространства имен (начиная с PHP 5.3.0) |
| T_NS_C | __NAMESPACE__ | пространства имен (начиная с PHP 5.3.0) |
| T_NS_SEPARATOR | \ | пространства имен (начиная с PHP 5.3.0) |
| T_NEW | new | классы и объекты |
| T_NUM_STRING | "$a[0]" | цифровой индекс массива внутри строки |
| T_OBJECT_CAST | (object) | приведение типов |
| T_OBJECT_OPERATOR | -> | классы и объекты |
| T_OLD_FUNCTION | old_function | (только в PHP 4) |
| T_OPEN_TAG | <?php, <? или <% | PHP-код внутри HTML |
| T_OPEN_TAG_WITH_ECHO | <?= or <%= | PHP-код внутри HTML |
| T_OR_EQUAL | |= | операторы присваивания |
| T_PAAMAYIM_NEKUDOTAYIM | :: | ::. Также определяется как T_DOUBLE_COLON. |
| T_PLUS_EQUAL | += | операторы присваивания |
| T_PRINT | print() | print() |
| T_PRIVATE | private | классы и объекты (начиная с PHP 5.0.0) |
| T_PUBLIC | public | классы и объекты (начиная с PHP 5.0.0) |
| T_PROTECTED | protected | классы и объекты (начиная с PHP 5.0.0) |
| T_REQUIRE | require() | require() |
| T_REQUIRE_ONCE | require_once() | require_once() |
| T_RETURN | return | возвращаемые значения |
| T_SL | << | побитовые операторы |
| T_SL_EQUAL | <<= | операторы присваивания |
| T_SR | >> | побитовые операторы |
| T_SR_EQUAL | >>= | операторы присваивания |
| T_START_HEREDOC | <<< | синтаксис heredoc |
| T_STATIC | static | область видимости переменной |
| T_STRING | "parent" | идентификаторы, например строки, объектно-ориентированные ключевые слова вроде parent и self, функции, классы и некоторые другие. |
| T_STRING_CAST | (string) | приведение типов |
| T_STRING_VARNAME | "${a | переменные внутри строки |
| T_SWITCH | switch | switch |
| T_THROW | throw | Исключения (начиная с PHP 5.0.0) |
| T_TRY | try | Исключения (начиная с PHP 5.0.0) |
| T_UNSET | unset() | unset() |
| T_UNSET_CAST | (unset) | приведение типов (начиная с PHP 5.0.0) |
| T_USE | use | пространства имен (начиная с PHP 5.3.0; зарезервировано с PHP 4.0.0) |
| T_VAR | var | классы и объекты |
| T_VARIABLE | $foo | переменные |
| T_WHILE | while | while, do..while |
| T_WHITESPACE | \t \r\n | |
| T_XOR_EQUAL | ^= | операторы присваивания |
См. так же token_name().
Вернуться к: Appendices