PHP-код внутренне представляется токенами.
Фрагмент кода, который содержит недопустимую последовательность токенов,
приводит к ошибкам наподобие
Parse error: syntax error, unexpected token "==", expecting "(" in script.php on line 10."
,
где токен ==
внутренне представляется как T_IS_EQUAL
.
Следующая таблица перечисляет все токены. Токены также доступны как PHP-константы.
Замечание: Константы семейства T_*
Значения констант семейства T_* автоматически генерируются на основе базовой инфраструктуры синтаксического анализатора PHP. Поэтому конкретное значение токена иногда изменяется между двумя версиями PHP. И поэтому для совместимости между версиями PHP код пишут так, чтобы он не зависел от исходных значений констант семейства T_*, которые взяли из версии PHP X.Y.Z.
Пользователи определяют неопределённые константы семейства T_* значениями больших чисел наподобие
10_000
, чтобы использовать константы в разных версиях PHP. При этом выбирают стратегию, которая будет работать как с версиями PHP, в которых разработчики языка определили значения констант семейства T_*, так и с версиями PHP, в которых константы не определяли.<?php
// До PHP 7.4.0 константу T_FN не определяли
defined('T_FN') || define('T_FN', 10001);
?>
Смотрите также описание функции token_name().