Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетил 21761 программист и 1630 роботов. Сейчас ищут 1366 программистов ...
Приступая к работе

Список меток (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) или (boolean) приведение типа
T_BREAK break break
T_CALLABLE callable callable
T_CASE case switch
T_CATCH catch Исключения (начиная с PHP 5.0.0)
T_CHARACTER   больше не используется
T_CLASS class классы и объекты
T_CLASS_C __CLASS__ магические константы
T_CLONE clone классы и объекты
T_CLOSE_TAG ?> или %> PHP-код внутри HTML
T_COMMENT // или #, и /* */ комментарии
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-комментарии
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_ELLIPSIS ... аргументы функции (доступно с PHP 5.6.0)
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 или die exit(), die()
T_EXTENDS extends extends, классы и объекты
T_FILE __FILE__ магические константы
T_FINAL final Ключевое слово "final"
T_FINALLY finally Исключения (доступно с PHP 5.5.0)
T_FOR for for
T_FOREACH foreach foreach
T_FUNCTION function или cfunction функции
T_FUNC_C __FUNCTION__ магические константы
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 Интерфейсы объектов
T_INC ++ операторы инкремента\декремента
T_INCLUDE include() include
T_INCLUDE_ONCE include_once() include_once
T_INLINE_HTML   текст вне PHP
T_INSTANCEOF instanceof операторы типа
T_INSTEADOF insteadof Трейты (доступно начиная с PHP 5.4.0)
T_INT_CAST (int) или (integer) приведение типов
T_INTERFACE interface Интерфейсы объектов
T_ISSET isset() isset()
T_IS_EQUAL == операторы сравнения
T_IS_GREATER_OR_EQUAL >= операторы сравнения
T_IS_IDENTICAL === операторы сравнения
T_IS_NOT_EQUAL != или <> операторы сравнения
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__ магические константы
T_MINUS_EQUAL -= операторы присваивания
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_OPEN_TAG <?php, <? или <% PHP-код внутри HTML
T_OPEN_TAG_WITH_ECHO <?= или <%= PHP-код внутри HTML
T_OR_EQUAL |= операторы присваивания
T_PAAMAYIM_NEKUDOTAYIM :: ::. Также определяется как T_DOUBLE_COLON.
T_PLUS_EQUAL += операторы присваивания
T_POW ** арифметические операторы (доступно с PHP 5.6.0)
T_POW_EQUAL **= операторы присваивания (доступно с PHP 5.6.0)
T_PRINT print() print
T_PRIVATE private классы и объекты
T_PUBLIC public классы и объекты
T_PROTECTED protected классы и объекты
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, self и т.п.. идентификаторы, например, ключевые слова вроде parent и self, сюда подходят также имена функций, классов и некоторые другие. Смотрите также T_CONSTANT_ENCAPSED_STRING
T_STRING_CAST (string) приведение типов
T_STRING_VARNAME "${a переменные внутри строки
T_SWITCH switch switch
T_THROW throw Исключения
T_TRAIT trait Трейты (начиная с PHP 5.4.0)
T_TRAIT_C __TRAIT__ __TRAIT__ (начиная с PHP 5.4.0)
T_TRY try Исключения
T_UNSET unset() unset()
T_UNSET_CAST (unset) приведение типов
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 ^= операторы присваивания
T_YIELD yield генераторы (доступно с PHP 5.5.0)

Смотрите также token_name().



Вернуться к: Appendices

© 2024 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware