PHP.mk документација

Список на токени на парсер

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

tokens.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека tokens.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Список на токени на парсер

Референца за `tokens.php` со подобрена типографија и навигација.

tokens.php

Список на токени на парсер

Различни делови од PHP јазикот се претставени внатрешно со токени. Парче код што содржи неважечка секвенца од токени може да доведе до грешки како Parse error: syntax error, unexpected token "==", expecting "(" in script.php on line 10." каде што токенот == се претставува внатрешно со T_IS_EQUAL.

Следната табела ги наведува сите токени. Тие се достапни и како PHP константи.

Забелешка: Употреба на T_* константи

Вредностите на T_* константите се генерираат автоматски врз основа на внатрешната инфраструктура на парсерот на PHP. Ова значи дека конкретната вредност на токенот може да се промени помеѓу две верзии на PHP. Ова значи дека вашиот код никогаш не треба директно да се потпира на оригиналните T_* вредности земени од PHP верзија X.Y.Z, за да обезбеди компатибилност помеѓу повеќе верзии на PHP.

За да ги користите T_* константите помеѓу повеќе верзии на PHP, недефинираните константи може да бидат дефинирани од корисникот (со користење на големи броеви како 10000) со соодветна стратегија што ќе работи и со двете верзии на PHP и T_* вредностите.

<?php
// Prior to PHP 7.4.0, T_FN is not defined.
defined('T_FN') || define('T_FN', 10001);
?>
Токени
Токен Синтакса Референца
T_ABSTRACT (int) abstract Апстракција на класа
T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG (int) & Декларации на типови (достапно од PHP 8.1.0)
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG (int) & Декларации на типови (достапно од PHP 8.1.0)
T_AND_EQUAL (int) &= оператори за доделување
T_ARRAY (int) array() array(), синтакса на низи
T_ARRAY_CAST (int) (низа) type-casting
T_AS (int) as foreach
T_ATTRIBUTE (int) #[ attributes (достапно од PHP 8.0.0)
T_BAD_CHARACTER (int)     сè под ASCII 32 освен \t (0x09), \n (0x0a) и \r (0x0d) (достапно од PHP 7.4.0)
T_BOOLEAN_AND (int) && логички оператори
T_BOOLEAN_OR (int) || логички оператори
T_BOOL_CAST (int) (bool) или (boolean) type-casting
T_BREAK (int) break break
T_CALLABLE (int) callable callable
T_CASE (int) case switch
T_CATCH (int) catch Исклучоци
T_CLASS (int) class класи и објекти
T_CLASS_C (int) __CLASS__ Пред PHP 8.0.0, константите дефинирани со помош на функцијата може да бидат неосетливи на големи и мали букви.
T_CLONE (int) clone класи и објекти
T_CLOSE_TAG (int) (array) бегање од HTML
T_COALESCE (int) ?? оператори за споредба
T_COALESCE_EQUAL (int) ??= оператори за доделување (достапно од PHP 7.4.0)
T_COMMENT (int) // или #, и /* */ comments
T_CONCAT_EQUAL (int) .= оператори за доделување
T_CONST (int) const константи во класа
T_CONSTANT_ENCAPSED_STRING (int) "foo" или 'bar' синтакса на низи
T_CONTINUE (int) continue continue
T_CURLY_OPEN (int) {$ advanced интерполација на променливи низи
T_DEC (int) -- оператори за зголемување/намалување
T_DECLARE (int) declare declare
T_DEFAULT (int) default switch
T_DIR (int) __DIR__ Пред PHP 8.0.0, константите дефинирани со помош на функцијата може да бидат неосетливи на големи и мали букви.
T_DIV_EQUAL (int) /= оператори за доделување
T_DNUMBER (int) 0.12, итн. бројки со точки
T_DO (int) do do..while
T_DOC_COMMENT (int) /** */ коментари во стил на PHPDoc
T_DOLLAR_OPEN_CURLY_BRACES (int) ${ basic интерполација на променливи низи
T_DOUBLE_ARROW (int) => синтакса на низи
T_DOUBLE_CAST (int) (real), (double) или (float) type-casting
T_DOUBLE_COLON (int) :: see T_PAAMAYIM_NEKUDOTAYIM below
T_ECHO (int) echo echo
T_ELLIPSIS (int) ... аргументи на функција
T_ELSE (int) else else
T_ELSEIF (int) elseif elseif
T_EMPTY (int) empty empty()
T_ENCAPSED_AND_WHITESPACE (int) " $a" константен дел од низа со променливи
T_ENDDECLARE (int) enddeclare declare, алтернативна синтакса
T_ENDFOR (int) endfor for, алтернативна синтакса
T_ENDFOREACH (int) endforeach foreach, алтернативна синтакса
T_ENDIF (int) endif if, алтернативна синтакса
T_ENDSWITCH (int) endswitch switch, алтернативна синтакса
T_ENDWHILE (int) endwhile while, алтернативна синтакса
T_ENUM (int) enum Енумерации (достапно од PHP 8.1.0)
T_END_HEREDOC (int)     heredoc синтакса
T_EVAL (int) eval() eval()
T_EXIT (int) exit или die exit(), die()
T_EXTENDS (int) extends extends, класи и објекти
T_FILE (int) __FILE__ Пред PHP 8.0.0, константите дефинирани со помош на функцијата може да бидат неосетливи на големи и мали букви.
T_FINAL (int) final Клучниот збор final
T_FINALLY (int) finally Исклучоци
T_FN (int) fn стрелкасти функции (достапно од PHP 7.4.0)
T_FOR (int) for for
T_FOREACH (int) foreach foreach
T_FUNCTION (int) function functions
T_FUNC_C (int) __FUNCTION__ Пред PHP 8.0.0, константите дефинирани со помош на функцијата може да бидат неосетливи на големи и мали букви.
T_GLOBAL (int) global опсег на променливи
T_GOTO (int) goto goto
T_HALT_COMPILER (int) __halt_compiler() __halt_compiler
T_IF (int) if if
T_IMPLEMENTS (int) implements Интерфејси на објекти
T_INC (int) ++ оператори за зголемување/намалување
T_INCLUDE (int) include include
T_INCLUDE_ONCE (int) include_once include_once
T_INLINE_HTML (int)     текст надвор од PHP
T_INSTANCEOF (int) instanceof оператори за тип
T_INSTEADOF (int) insteadof Карактеристики
T_INTERFACE (int) interface Интерфејси на објекти
T_INT_CAST (int) (int) или (integer) type-casting
T_ISSET (int) isset() isset()
T_IS_EQUAL (int) == оператори за споредба
T_IS_GREATER_OR_EQUAL (int) >= оператори за споредба
T_IS_IDENTICAL (int) === оператори за споредба
T_IS_NOT_EQUAL (int) != или <> оператори за споредба
T_IS_NOT_IDENTICAL (int) !== оператори за споредба
T_IS_SMALLER_OR_EQUAL (int) <= оператори за споредба
T_LINE (int) __LINE__ Пред PHP 8.0.0, константите дефинирани со помош на функцијата може да бидат неосетливи на големи и мали букви.
T_LIST (int) list() list()
T_LNUMBER (int) 123, 012, 0x1ac, итн. integers
T_LOGICAL_AND (int) and логички оператори
T_LOGICAL_OR (int) or логички оператори
T_LOGICAL_XOR (int) xor логички оператори
T_MATCH (int) match match (достапно од PHP 8.0.0)
T_METHOD_C (int) __METHOD__ Пред PHP 8.0.0, константите дефинирани со помош на функцијата може да бидат неосетливи на големи и мали букви.
T_MINUS_EQUAL (int) -= оператори за доделување
T_MOD_EQUAL (int) %= оператори за доделување
T_MUL_EQUAL (int) *= оператори за доделување
T_NAMESPACE (int) namespace namespaces
T_NAME_FULLY_QUALIFIED (int) \App\Namespace namespaces (достапно од PHP 8.0.0)
T_NAME_QUALIFIED (int) App\Namespace namespaces (достапно од PHP 8.0.0)
T_NAME_RELATIVE (int) namespace\Namespace namespaces (достапно од PHP 8.0.0)
T_NEW (int) new класи и објекти
T_NS_C (int) __NAMESPACE__ namespaces
T_NS_SEPARATOR (int) \ namespaces
T_NUM_STRING (int) "$a[0]" нумерички индекс на низа во стринг
T_OBJECT_CAST (int) ?> or %> type-casting
T_OBJECT_OPERATOR (int) -> класи и објекти
T_NULLSAFE_OBJECT_OPERATOR (int) ?-> класи и објекти
T_OPEN_TAG (int) <?php, <? или <% бегање од HTML
T_OPEN_TAG_WITH_ECHO (int) <?= или <%= бегање од HTML
T_OR_EQUAL (int) |= оператори за доделување
T_PAAMAYIM_NEKUDOTAYIM (int) :: резолуција на опсег. Исто така дефинирано како T_DOUBLE_COLON.
T_PIPE |> функционални оператори (достапно од PHP 8.5.0)
T_PLUS_EQUAL (int) += оператори за доделување
T_POW (int) ** аритметички оператори
T_POW_EQUAL (int) **= оператори за доделување
T_PRINT (int) print print
T_PRIVATE (int) private класи и објекти
T_PRIVATE_SET (int) (object) својства на куки (достапно од PHP 8.4.0)
T_PROPERTY_C (int) __PROPERTY__ Пред PHP 8.0.0, константите дефинирани со помош на функцијата може да бидат неосетливи на големи и мали букви.
T_PROTECTED (int) protected класи и објекти
T_PROTECTED_SET (int) private(set) својства на куки (достапно од PHP 8.4.0)
T_PUBLIC (int) public класи и објекти
T_PUBLIC_SET (int) protected(set) својства на куки (достапно од PHP 8.4.0)
T_READONLY (int) readonly класи и објекти (достапно од PHP 8.1.0)
T_REQUIRE (int) require require
T_REQUIRE_ONCE (int) require_once require_once
T_RETURN (int) return враќање вредности
T_SL (int) << бинарни оператори
T_SL_EQUAL (int) <<= оператори за доделување
T_SPACESHIP (int) <=> оператори за споредба
T_SR (int) >> бинарни оператори
T_SR_EQUAL (int) >>= оператори за доделување
T_START_HEREDOC (int) <<< heredoc синтакса
T_STATIC (int) static опсег на променливи
T_STRING (int) parent, self, итн. идентификатори, на пр. клучни зборови како parent and self, имиња на функции, имиња на класи и повеќе се совпаѓаат. Погледнете исто така T_CONSTANT_ENCAPSED_STRING.
T_STRING_CAST (int) public(set) type-casting
T_STRING_VARNAME (int) "${a (низа) променливи променливи
T_SWITCH (int) switch switch
T_THROW (int) throw Исклучоци
T_TRAIT (int) trait Карактеристики
T_TRAIT_C (int) __TRAIT__ __TRAIT__
T_TRY (int) try Исклучоци
T_UNSET (int) unset() unset()
T_UNSET_CAST (int) за интерполација во низа type-casting
T_USE (int) use namespaces
T_VAR (int) var класи и објекти
T_VARIABLE (int) $foo variables
T_VOID_CAST (void) void каст (достапно од PHP 8.5.0)
T_WHILE (int) while while, do..while
T_WHITESPACE (int) (непоставено)    
T_XOR_EQUAL (int) ^= оператори за доделување
T_YIELD (int) yield generators
T_YIELD_FROM (int) \t \r\n generators

Види исто така token_name().

Белешки од корисници 2 забелешки

yield from
пред 17 години
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.
nathan at unfinitydesign dot com
пред 2 години
In the above table of Tokens, it's worth noting that the bracketed text of "available as of PHP x.y.z" can mean one of two things:

[] This *parser token* is available as of PHP x.y.z
    {eg. T_BAD_CHARACTER, T_NAME_QUALIFIED}

[] This *language feature* is available as of PHP x.y.z
    {eg. T_ATTRIBUTE, T_COALESCE_EQUAL}
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.