Documentation

Tokens
in package

FinalYes

Table of Contents

Constants

ARITHMETIC_TOKENS  = [T_PLUS => T_PLUS, T_MINUS => T_MINUS, T_MULTIPLY => T_MULTIPLY, T_DIVIDE => T_DIVIDE, T_MODULUS => T_MODULUS, T_POW => T_POW]
Tokens that represent arithmetic operators.
ASSIGNMENT_TOKENS  = [T_EQUAL => T_EQUAL, T_AND_EQUAL => T_AND_EQUAL, T_OR_EQUAL => T_OR_EQUAL, T_CONCAT_EQUAL => T_CONCAT_EQUAL, T_DIV_EQUAL => T_DIV_EQUAL, T_MINUS_EQUAL => T_MINUS_EQUAL, T_POW_EQUAL => T_POW_EQUAL, T_MOD_EQUAL => T_MOD_EQUAL, T_MUL_EQUAL => T_MUL_EQUAL, T_PLUS_EQUAL => T_PLUS_EQUAL, T_XOR_EQUAL => T_XOR_EQUAL, T_DOUBLE_ARROW => T_DOUBLE_ARROW, T_SL_EQUAL => T_SL_EQUAL, T_SR_EQUAL => T_SR_EQUAL, T_COALESCE_EQUAL => T_COALESCE_EQUAL]
Tokens that represent assignments.
BLOCK_OPENERS  = [T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET, T_OPEN_SQUARE_BRACKET => T_OPEN_SQUARE_BRACKET, T_OPEN_PARENTHESIS => T_OPEN_PARENTHESIS]
Tokens that open code blocks.
BOOLEAN_OPERATORS  = [T_BOOLEAN_AND => T_BOOLEAN_AND, T_BOOLEAN_OR => T_BOOLEAN_OR, T_LOGICAL_AND => T_LOGICAL_AND, T_LOGICAL_OR => T_LOGICAL_OR, T_LOGICAL_XOR => T_LOGICAL_XOR]
Tokens that perform boolean operations.
BRACKET_TOKENS  = self::BLOCK_OPENERS + [T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET, T_CLOSE_SQUARE_BRACKET => T_CLOSE_SQUARE_BRACKET, T_CLOSE_PARENTHESIS => T_CLOSE_PARENTHESIS]
Tokens that represent brackets and parenthesis.
CAST_TOKENS  = [T_INT_CAST => T_INT_CAST, T_STRING_CAST => T_STRING_CAST, T_DOUBLE_CAST => T_DOUBLE_CAST, T_ARRAY_CAST => T_ARRAY_CAST, T_BOOL_CAST => T_BOOL_CAST, T_OBJECT_CAST => T_OBJECT_CAST, T_UNSET_CAST => T_UNSET_CAST, T_BINARY_CAST => T_BINARY_CAST]
Tokens that represent casting.
COMMENT_TOKENS  = self::PHPCS_ANNOTATION_TOKENS + [T_COMMENT => T_COMMENT, T_DOC_COMMENT => T_DOC_COMMENT, T_DOC_COMMENT_STAR => T_DOC_COMMENT_STAR, T_DOC_COMMENT_WHITESPACE => T_DOC_COMMENT_WHITESPACE, T_DOC_COMMENT_TAG => T_DOC_COMMENT_TAG, T_DOC_COMMENT_OPEN_TAG => T_DOC_COMMENT_OPEN_TAG, T_DOC_COMMENT_CLOSE_TAG => T_DOC_COMMENT_CLOSE_TAG, T_DOC_COMMENT_STRING => T_DOC_COMMENT_STRING]
Tokens that are comments.
COMPARISON_TOKENS  = self::EQUALITY_TOKENS + [T_LESS_THAN => T_LESS_THAN, T_GREATER_THAN => T_GREATER_THAN, T_SPACESHIP => T_SPACESHIP, T_COALESCE => T_COALESCE]
Tokens that represent comparison operator.
CONTEXT_SENSITIVE_KEYWORDS  = [T_ABSTRACT => T_ABSTRACT, T_ARRAY => T_ARRAY, T_AS => T_AS, T_BREAK => T_BREAK, T_CALLABLE => T_CALLABLE, T_CASE => T_CASE, T_CATCH => T_CATCH, T_CLASS => T_CLASS, T_CLONE => T_CLONE, T_CONST => T_CONST, T_CONTINUE => T_CONTINUE, T_DECLARE => T_DECLARE, T_DEFAULT => T_DEFAULT, T_DO => T_DO, T_ECHO => T_ECHO, T_ELSE => T_ELSE, T_ELSEIF => T_ELSEIF, T_EMPTY => T_EMPTY, T_ENDDECLARE => T_ENDDECLARE, T_ENDFOR => T_ENDFOR, T_ENDFOREACH => T_ENDFOREACH, T_ENDIF => T_ENDIF, T_ENDSWITCH => T_ENDSWITCH, T_ENDWHILE => T_ENDWHILE, T_ENUM => T_ENUM, T_EVAL => T_EVAL, T_EXIT => T_EXIT, T_EXTENDS => T_EXTENDS, T_FINAL => T_FINAL, T_FINALLY => T_FINALLY, T_FN => T_FN, T_FOR => T_FOR, T_FOREACH => T_FOREACH, T_FUNCTION => T_FUNCTION, T_GLOBAL => T_GLOBAL, T_GOTO => T_GOTO, T_IF => T_IF, T_IMPLEMENTS => T_IMPLEMENTS, T_INCLUDE => T_INCLUDE, T_INCLUDE_ONCE => T_INCLUDE_ONCE, T_INSTANCEOF => T_INSTANCEOF, T_INSTEADOF => T_INSTEADOF, T_INTERFACE => T_INTERFACE, T_ISSET => T_ISSET, T_LIST => T_LIST, T_LOGICAL_AND => T_LOGICAL_AND, T_LOGICAL_OR => T_LOGICAL_OR, T_LOGICAL_XOR => T_LOGICAL_XOR, T_MATCH => T_MATCH, T_NAMESPACE => T_NAMESPACE, T_NEW => T_NEW, T_PRINT => T_PRINT, T_PRIVATE => T_PRIVATE, T_PROTECTED => T_PROTECTED, T_PUBLIC => T_PUBLIC, T_READONLY => T_READONLY, T_REQUIRE => T_REQUIRE, T_REQUIRE_ONCE => T_REQUIRE_ONCE, T_RETURN => T_RETURN, T_STATIC => T_STATIC, T_SWITCH => T_SWITCH, T_THROW => T_THROW, T_TRAIT => T_TRAIT, T_TRY => T_TRY, T_UNSET => T_UNSET, T_USE => T_USE, T_VAR => T_VAR, T_WHILE => T_WHILE, T_YIELD => T_YIELD, T_YIELD_FROM => T_YIELD_FROM]
Tokens representing context sensitive keywords in PHP.
EMPTY_TOKENS  = self::COMMENT_TOKENS + [T_WHITESPACE => T_WHITESPACE]
Tokens that don't represent code.
EQUALITY_TOKENS  = [T_IS_EQUAL => T_IS_EQUAL, T_IS_NOT_EQUAL => T_IS_NOT_EQUAL, T_IS_IDENTICAL => T_IS_IDENTICAL, T_IS_NOT_IDENTICAL => T_IS_NOT_IDENTICAL, T_IS_SMALLER_OR_EQUAL => T_IS_SMALLER_OR_EQUAL, T_IS_GREATER_OR_EQUAL => T_IS_GREATER_OR_EQUAL]
Tokens that represent equality comparisons.
FUNCTION_NAME_TOKENS  = self::INCLUDE_TOKENS + self::NAME_TOKENS + [T_EVAL => T_EVAL, T_EXIT => T_EXIT, T_ISSET => T_ISSET, T_UNSET => T_UNSET, T_EMPTY => T_EMPTY, T_SELF => T_SELF, T_PARENT => T_PARENT, T_STATIC => T_STATIC, T_ANON_CLASS => T_ANON_CLASS]
Tokens that represent the names of called functions.
HEREDOC_TOKENS  = [T_START_HEREDOC => T_START_HEREDOC, T_END_HEREDOC => T_END_HEREDOC, T_HEREDOC => T_HEREDOC, T_START_NOWDOC => T_START_NOWDOC, T_END_NOWDOC => T_END_NOWDOC, T_NOWDOC => T_NOWDOC]
Tokens that make up a heredoc string.
INCLUDE_TOKENS  = [T_REQUIRE_ONCE => T_REQUIRE_ONCE, T_REQUIRE => T_REQUIRE, T_INCLUDE_ONCE => T_INCLUDE_ONCE, T_INCLUDE => T_INCLUDE]
Tokens that include files.
MAGIC_CONSTANTS  = [T_CLASS_C => T_CLASS_C, T_DIR => T_DIR, T_FILE => T_FILE, T_FUNC_C => T_FUNC_C, T_LINE => T_LINE, T_METHOD_C => T_METHOD_C, T_NS_C => T_NS_C, T_TRAIT_C => T_TRAIT_C]
Tokens representing PHP magic constants.
METHOD_MODIFIERS  = [T_PRIVATE => T_PRIVATE, T_PUBLIC => T_PUBLIC, T_PROTECTED => T_PROTECTED, T_ABSTRACT => T_ABSTRACT, T_STATIC => T_STATIC, T_FINAL => T_FINAL]
Tokens that can prefix a method name
NAME_TOKENS  = [T_STRING => T_STRING, T_NAME_QUALIFIED => T_NAME_QUALIFIED, T_NAME_FULLY_QUALIFIED => T_NAME_FULLY_QUALIFIED, T_NAME_RELATIVE => T_NAME_RELATIVE]
Tokens used for "names", be it namespace, OO, function or constant names.
OO_SCOPE_TOKENS  = [T_CLASS => T_CLASS, T_ANON_CLASS => T_ANON_CLASS, T_INTERFACE => T_INTERFACE, T_TRAIT => T_TRAIT, T_ENUM => T_ENUM]
Tokens that open class and object scopes.
OPERATORS  = self::ARITHMETIC_TOKENS + [T_SPACESHIP => T_SPACESHIP, T_COALESCE => T_COALESCE, T_BITWISE_AND => T_BITWISE_AND, T_BITWISE_OR => T_BITWISE_OR, T_BITWISE_XOR => T_BITWISE_XOR, T_SL => T_SL, T_SR => T_SR]
Tokens that perform operations.
PARENTHESIS_OPENERS  = [T_ARRAY => T_ARRAY, T_LIST => T_LIST, T_FUNCTION => T_FUNCTION, T_CLOSURE => T_CLOSURE, T_USE => T_USE, T_ANON_CLASS => T_ANON_CLASS, T_WHILE => T_WHILE, T_FOR => T_FOR, T_FOREACH => T_FOREACH, T_SWITCH => T_SWITCH, T_IF => T_IF, T_ELSEIF => T_ELSEIF, T_CATCH => T_CATCH, T_DECLARE => T_DECLARE, T_MATCH => T_MATCH, T_ISSET => T_ISSET, T_EMPTY => T_EMPTY, T_UNSET => T_UNSET, T_EVAL => T_EVAL, T_EXIT => T_EXIT]
Token types that open parenthesis.
PHPCS_ANNOTATION_TOKENS  = [T_PHPCS_ENABLE => T_PHPCS_ENABLE, T_PHPCS_DISABLE => T_PHPCS_DISABLE, T_PHPCS_SET => T_PHPCS_SET, T_PHPCS_IGNORE => T_PHPCS_IGNORE, T_PHPCS_IGNORE_FILE => T_PHPCS_IGNORE_FILE]
Tokens that are comments containing PHPCS instructions.
SCOPE_MODIFIERS  = [T_PRIVATE => T_PRIVATE, T_PUBLIC => T_PUBLIC, T_PROTECTED => T_PROTECTED, T_PUBLIC_SET => T_PUBLIC_SET, T_PROTECTED_SET => T_PROTECTED_SET, T_PRIVATE_SET => T_PRIVATE_SET]
Tokens that represent scope modifiers.
SCOPE_OPENERS  = [T_CLASS => T_CLASS, T_ANON_CLASS => T_ANON_CLASS, T_INTERFACE => T_INTERFACE, T_TRAIT => T_TRAIT, T_ENUM => T_ENUM, T_NAMESPACE => T_NAMESPACE, T_FUNCTION => T_FUNCTION, T_CLOSURE => T_CLOSURE, T_IF => T_IF, T_SWITCH => T_SWITCH, T_CASE => T_CASE, T_DECLARE => T_DECLARE, T_DEFAULT => T_DEFAULT, T_WHILE => T_WHILE, T_ELSE => T_ELSE, T_ELSEIF => T_ELSEIF, T_FOR => T_FOR, T_FOREACH => T_FOREACH, T_DO => T_DO, T_TRY => T_TRY, T_CATCH => T_CATCH, T_FINALLY => T_FINALLY, T_USE => T_USE, T_MATCH => T_MATCH]
Tokens that are allowed to open scopes.
STRING_TOKENS  = [T_CONSTANT_ENCAPSED_STRING => T_CONSTANT_ENCAPSED_STRING, T_DOUBLE_QUOTED_STRING => T_DOUBLE_QUOTED_STRING]
Tokens that represent strings.
TEXT_STRING_TOKENS  = self::STRING_TOKENS + [T_INLINE_HTML => T_INLINE_HTML, T_HEREDOC => T_HEREDOC, T_NOWDOC => T_NOWDOC]
Tokens that represent text strings.
WEIGHTINGS  = [ T_CLASS => 1000, T_INTERFACE => 1000, T_TRAIT => 1000, T_ENUM => 1000, T_NAMESPACE => 1000, T_FUNCTION => 100, T_CLOSURE => 100, /* * Conditions. */ T_WHILE => 50, T_FOR => 50, T_FOREACH => 50, T_IF => 50, T_ELSE => 50, T_ELSEIF => 50, T_DO => 50, T_TRY => 50, T_CATCH => 50, T_FINALLY => 50, T_SWITCH => 50, T_MATCH => 50, T_SELF => 25, T_PARENT => 25, /* * Operators and arithmetic. */ T_BITWISE_AND => 8, T_BITWISE_OR => 8, T_BITWISE_XOR => 8, T_MULTIPLY => 5, T_DIVIDE => 5, T_PLUS => 5, T_MINUS => 5, T_MODULUS => 5, T_POW => 5, T_SPACESHIP => 5, T_COALESCE => 5, T_COALESCE_EQUAL => 5, T_SL => 5, T_SR => 5, T_SL_EQUAL => 5, T_SR_EQUAL => 5, T_EQUAL => 5, T_AND_EQUAL => 5, T_CONCAT_EQUAL => 5, T_DIV_EQUAL => 5, T_MINUS_EQUAL => 5, T_MOD_EQUAL => 5, T_MUL_EQUAL => 5, T_OR_EQUAL => 5, T_PLUS_EQUAL => 5, T_XOR_EQUAL => 5, T_BOOLEAN_AND => 5, T_BOOLEAN_OR => 5, /* * Equality. */ T_IS_EQUAL => 5, T_IS_NOT_EQUAL => 5, T_IS_IDENTICAL => 5, T_IS_NOT_IDENTICAL => 5, T_IS_SMALLER_OR_EQUAL => 5, T_IS_GREATER_OR_EQUAL => 5, ]
The token weightings.

Properties

$arithmeticTokens  : array<int|string, int|string>
Tokens that represent arithmetic operators.
$assignmentTokens  : array<int|string, int|string>
Tokens that represent assignments.
$blockOpeners  : array<int|string, int|string>
Tokens that open code blocks.
$booleanOperators  : array<int|string, int|string>
Tokens that perform boolean operations.
$bracketTokens  : array<int|string, int|string>
Tokens that represent brackets and parenthesis.
$castTokens  : array<int|string, int|string>
Tokens that represent casting.
$commentTokens  : array<int|string, int|string>
Tokens that are comments.
$comparisonTokens  : array<int|string, int|string>
Tokens that represent comparison operator.
$contextSensitiveKeywords  : array<int|string, int|string>
Tokens representing context sensitive keywords in PHP.
$emptyTokens  : array<int|string, int|string>
Tokens that don't represent code.
$equalityTokens  : array<int|string, int|string>
Tokens that represent equality comparisons.
$functionNameTokens  : array<int|string, int|string>
Tokens that represent the names of called functions.
$heredocTokens  : array<int|string, int|string>
Tokens that make up a heredoc string.
$includeTokens  : array<int|string, int|string>
Tokens that include files.
$magicConstants  : array<string|int, int|string>
Tokens representing PHP magic constants.
$methodPrefixes  : array<int|string, int|string>
Tokens that can prefix a method name
$ooScopeTokens  : array<int|string, int|string>
Tokens that open class and object scopes.
$operators  : array<int|string, int|string>
Tokens that perform operations.
$parenthesisOpeners  : array<int|string, int|string>
Token types that open parenthesis.
$phpcsCommentTokens  : array<int|string, int|string>
Tokens that are comments containing PHPCS instructions.
$scopeModifiers  : array<int|string, int|string>
Tokens that represent scope modifiers.
$scopeOpeners  : array<int|string, int|string>
Tokens that are allowed to open scopes.
$stringTokens  : array<int|string, int|string>
Tokens that represent strings.
$textStringTokens  : array<int|string, int|string>
Tokens that represent text strings.
$weightings  : array<int|string, int>
The token weightings.

Methods

getHighestWeightedToken()  : int|string
Returns the highest weighted token type.
tokenName()  : string
Given a token constant, returns the name of the token.

Constants

ARITHMETIC_TOKENS

Tokens that represent arithmetic operators.

public array<int|string, int|string> ARITHMETIC_TOKENS = [T_PLUS => T_PLUS, T_MINUS => T_MINUS, T_MULTIPLY => T_MULTIPLY, T_DIVIDE => T_DIVIDE, T_MODULUS => T_MODULUS, T_POW => T_POW]

ASSIGNMENT_TOKENS

Tokens that represent assignments.

public array<int|string, int|string> ASSIGNMENT_TOKENS = [T_EQUAL => T_EQUAL, T_AND_EQUAL => T_AND_EQUAL, T_OR_EQUAL => T_OR_EQUAL, T_CONCAT_EQUAL => T_CONCAT_EQUAL, T_DIV_EQUAL => T_DIV_EQUAL, T_MINUS_EQUAL => T_MINUS_EQUAL, T_POW_EQUAL => T_POW_EQUAL, T_MOD_EQUAL => T_MOD_EQUAL, T_MUL_EQUAL => T_MUL_EQUAL, T_PLUS_EQUAL => T_PLUS_EQUAL, T_XOR_EQUAL => T_XOR_EQUAL, T_DOUBLE_ARROW => T_DOUBLE_ARROW, T_SL_EQUAL => T_SL_EQUAL, T_SR_EQUAL => T_SR_EQUAL, T_COALESCE_EQUAL => T_COALESCE_EQUAL]

BLOCK_OPENERS

Tokens that open code blocks.

public array<int|string, int|string> BLOCK_OPENERS = [T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET, T_OPEN_SQUARE_BRACKET => T_OPEN_SQUARE_BRACKET, T_OPEN_PARENTHESIS => T_OPEN_PARENTHESIS]

BOOLEAN_OPERATORS

Tokens that perform boolean operations.

public array<int|string, int|string> BOOLEAN_OPERATORS = [T_BOOLEAN_AND => T_BOOLEAN_AND, T_BOOLEAN_OR => T_BOOLEAN_OR, T_LOGICAL_AND => T_LOGICAL_AND, T_LOGICAL_OR => T_LOGICAL_OR, T_LOGICAL_XOR => T_LOGICAL_XOR]

BRACKET_TOKENS

Tokens that represent brackets and parenthesis.

public array<int|string, int|string> BRACKET_TOKENS = self::BLOCK_OPENERS + [T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET, T_CLOSE_SQUARE_BRACKET => T_CLOSE_SQUARE_BRACKET, T_CLOSE_PARENTHESIS => T_CLOSE_PARENTHESIS]

CAST_TOKENS

Tokens that represent casting.

public array<int|string, int|string> CAST_TOKENS = [T_INT_CAST => T_INT_CAST, T_STRING_CAST => T_STRING_CAST, T_DOUBLE_CAST => T_DOUBLE_CAST, T_ARRAY_CAST => T_ARRAY_CAST, T_BOOL_CAST => T_BOOL_CAST, T_OBJECT_CAST => T_OBJECT_CAST, T_UNSET_CAST => T_UNSET_CAST, T_BINARY_CAST => T_BINARY_CAST]

COMMENT_TOKENS

Tokens that are comments.

public array<int|string, int|string> COMMENT_TOKENS = self::PHPCS_ANNOTATION_TOKENS + [T_COMMENT => T_COMMENT, T_DOC_COMMENT => T_DOC_COMMENT, T_DOC_COMMENT_STAR => T_DOC_COMMENT_STAR, T_DOC_COMMENT_WHITESPACE => T_DOC_COMMENT_WHITESPACE, T_DOC_COMMENT_TAG => T_DOC_COMMENT_TAG, T_DOC_COMMENT_OPEN_TAG => T_DOC_COMMENT_OPEN_TAG, T_DOC_COMMENT_CLOSE_TAG => T_DOC_COMMENT_CLOSE_TAG, T_DOC_COMMENT_STRING => T_DOC_COMMENT_STRING]

COMPARISON_TOKENS

Tokens that represent comparison operator.

public array<int|string, int|string> COMPARISON_TOKENS = self::EQUALITY_TOKENS + [T_LESS_THAN => T_LESS_THAN, T_GREATER_THAN => T_GREATER_THAN, T_SPACESHIP => T_SPACESHIP, T_COALESCE => T_COALESCE]

CONTEXT_SENSITIVE_KEYWORDS

Tokens representing context sensitive keywords in PHP.

public array<int|string, int|string> CONTEXT_SENSITIVE_KEYWORDS = [T_ABSTRACT => T_ABSTRACT, T_ARRAY => T_ARRAY, T_AS => T_AS, T_BREAK => T_BREAK, T_CALLABLE => T_CALLABLE, T_CASE => T_CASE, T_CATCH => T_CATCH, T_CLASS => T_CLASS, T_CLONE => T_CLONE, T_CONST => T_CONST, T_CONTINUE => T_CONTINUE, T_DECLARE => T_DECLARE, T_DEFAULT => T_DEFAULT, T_DO => T_DO, T_ECHO => T_ECHO, T_ELSE => T_ELSE, T_ELSEIF => T_ELSEIF, T_EMPTY => T_EMPTY, T_ENDDECLARE => T_ENDDECLARE, T_ENDFOR => T_ENDFOR, T_ENDFOREACH => T_ENDFOREACH, T_ENDIF => T_ENDIF, T_ENDSWITCH => T_ENDSWITCH, T_ENDWHILE => T_ENDWHILE, T_ENUM => T_ENUM, T_EVAL => T_EVAL, T_EXIT => T_EXIT, T_EXTENDS => T_EXTENDS, T_FINAL => T_FINAL, T_FINALLY => T_FINALLY, T_FN => T_FN, T_FOR => T_FOR, T_FOREACH => T_FOREACH, T_FUNCTION => T_FUNCTION, T_GLOBAL => T_GLOBAL, T_GOTO => T_GOTO, T_IF => T_IF, T_IMPLEMENTS => T_IMPLEMENTS, T_INCLUDE => T_INCLUDE, T_INCLUDE_ONCE => T_INCLUDE_ONCE, T_INSTANCEOF => T_INSTANCEOF, T_INSTEADOF => T_INSTEADOF, T_INTERFACE => T_INTERFACE, T_ISSET => T_ISSET, T_LIST => T_LIST, T_LOGICAL_AND => T_LOGICAL_AND, T_LOGICAL_OR => T_LOGICAL_OR, T_LOGICAL_XOR => T_LOGICAL_XOR, T_MATCH => T_MATCH, T_NAMESPACE => T_NAMESPACE, T_NEW => T_NEW, T_PRINT => T_PRINT, T_PRIVATE => T_PRIVATE, T_PROTECTED => T_PROTECTED, T_PUBLIC => T_PUBLIC, T_READONLY => T_READONLY, T_REQUIRE => T_REQUIRE, T_REQUIRE_ONCE => T_REQUIRE_ONCE, T_RETURN => T_RETURN, T_STATIC => T_STATIC, T_SWITCH => T_SWITCH, T_THROW => T_THROW, T_TRAIT => T_TRAIT, T_TRY => T_TRY, T_UNSET => T_UNSET, T_USE => T_USE, T_VAR => T_VAR, T_WHILE => T_WHILE, T_YIELD => T_YIELD, T_YIELD_FROM => T_YIELD_FROM]

https://wiki.php.net/rfc/context_sensitive_lexer

EMPTY_TOKENS

Tokens that don't represent code.

public array<int|string, int|string> EMPTY_TOKENS = self::COMMENT_TOKENS + [T_WHITESPACE => T_WHITESPACE]

EQUALITY_TOKENS

Tokens that represent equality comparisons.

public array<int|string, int|string> EQUALITY_TOKENS = [T_IS_EQUAL => T_IS_EQUAL, T_IS_NOT_EQUAL => T_IS_NOT_EQUAL, T_IS_IDENTICAL => T_IS_IDENTICAL, T_IS_NOT_IDENTICAL => T_IS_NOT_IDENTICAL, T_IS_SMALLER_OR_EQUAL => T_IS_SMALLER_OR_EQUAL, T_IS_GREATER_OR_EQUAL => T_IS_GREATER_OR_EQUAL]

FUNCTION_NAME_TOKENS

Tokens that represent the names of called functions.

public array<int|string, int|string> FUNCTION_NAME_TOKENS = self::INCLUDE_TOKENS + self::NAME_TOKENS + [T_EVAL => T_EVAL, T_EXIT => T_EXIT, T_ISSET => T_ISSET, T_UNSET => T_UNSET, T_EMPTY => T_EMPTY, T_SELF => T_SELF, T_PARENT => T_PARENT, T_STATIC => T_STATIC, T_ANON_CLASS => T_ANON_CLASS]

Mostly, these are just strings. But PHP tokenizes some language constructs and functions using their own tokens.

HEREDOC_TOKENS

Tokens that make up a heredoc string.

public array<int|string, int|string> HEREDOC_TOKENS = [T_START_HEREDOC => T_START_HEREDOC, T_END_HEREDOC => T_END_HEREDOC, T_HEREDOC => T_HEREDOC, T_START_NOWDOC => T_START_NOWDOC, T_END_NOWDOC => T_END_NOWDOC, T_NOWDOC => T_NOWDOC]

INCLUDE_TOKENS

Tokens that include files.

public array<int|string, int|string> INCLUDE_TOKENS = [T_REQUIRE_ONCE => T_REQUIRE_ONCE, T_REQUIRE => T_REQUIRE, T_INCLUDE_ONCE => T_INCLUDE_ONCE, T_INCLUDE => T_INCLUDE]

MAGIC_CONSTANTS

Tokens representing PHP magic constants.

public array<string|int, int|string> MAGIC_CONSTANTS = [T_CLASS_C => T_CLASS_C, T_DIR => T_DIR, T_FILE => T_FILE, T_FUNC_C => T_FUNC_C, T_LINE => T_LINE, T_METHOD_C => T_METHOD_C, T_NS_C => T_NS_C, T_TRAIT_C => T_TRAIT_C]

=> <int|string>

Tags
link

PHP Manual on magic constants

METHOD_MODIFIERS

Tokens that can prefix a method name

public array<int|string, int|string> METHOD_MODIFIERS = [T_PRIVATE => T_PRIVATE, T_PUBLIC => T_PUBLIC, T_PROTECTED => T_PROTECTED, T_ABSTRACT => T_ABSTRACT, T_STATIC => T_STATIC, T_FINAL => T_FINAL]

NAME_TOKENS

Tokens used for "names", be it namespace, OO, function or constant names.

public array<int|string, int|string> NAME_TOKENS = [T_STRING => T_STRING, T_NAME_QUALIFIED => T_NAME_QUALIFIED, T_NAME_FULLY_QUALIFIED => T_NAME_FULLY_QUALIFIED, T_NAME_RELATIVE => T_NAME_RELATIVE]

OO_SCOPE_TOKENS

Tokens that open class and object scopes.

public array<int|string, int|string> OO_SCOPE_TOKENS = [T_CLASS => T_CLASS, T_ANON_CLASS => T_ANON_CLASS, T_INTERFACE => T_INTERFACE, T_TRAIT => T_TRAIT, T_ENUM => T_ENUM]

OPERATORS

Tokens that perform operations.

public array<int|string, int|string> OPERATORS = self::ARITHMETIC_TOKENS + [T_SPACESHIP => T_SPACESHIP, T_COALESCE => T_COALESCE, T_BITWISE_AND => T_BITWISE_AND, T_BITWISE_OR => T_BITWISE_OR, T_BITWISE_XOR => T_BITWISE_XOR, T_SL => T_SL, T_SR => T_SR]

PARENTHESIS_OPENERS

Token types that open parenthesis.

public array<int|string, int|string> PARENTHESIS_OPENERS = [T_ARRAY => T_ARRAY, T_LIST => T_LIST, T_FUNCTION => T_FUNCTION, T_CLOSURE => T_CLOSURE, T_USE => T_USE, T_ANON_CLASS => T_ANON_CLASS, T_WHILE => T_WHILE, T_FOR => T_FOR, T_FOREACH => T_FOREACH, T_SWITCH => T_SWITCH, T_IF => T_IF, T_ELSEIF => T_ELSEIF, T_CATCH => T_CATCH, T_DECLARE => T_DECLARE, T_MATCH => T_MATCH, T_ISSET => T_ISSET, T_EMPTY => T_EMPTY, T_UNSET => T_UNSET, T_EVAL => T_EVAL, T_EXIT => T_EXIT]

PHPCS_ANNOTATION_TOKENS

Tokens that are comments containing PHPCS instructions.

public array<int|string, int|string> PHPCS_ANNOTATION_TOKENS = [T_PHPCS_ENABLE => T_PHPCS_ENABLE, T_PHPCS_DISABLE => T_PHPCS_DISABLE, T_PHPCS_SET => T_PHPCS_SET, T_PHPCS_IGNORE => T_PHPCS_IGNORE, T_PHPCS_IGNORE_FILE => T_PHPCS_IGNORE_FILE]

SCOPE_MODIFIERS

Tokens that represent scope modifiers.

public array<int|string, int|string> SCOPE_MODIFIERS = [T_PRIVATE => T_PRIVATE, T_PUBLIC => T_PUBLIC, T_PROTECTED => T_PROTECTED, T_PUBLIC_SET => T_PUBLIC_SET, T_PROTECTED_SET => T_PROTECTED_SET, T_PRIVATE_SET => T_PRIVATE_SET]

SCOPE_OPENERS

Tokens that are allowed to open scopes.

public array<int|string, int|string> SCOPE_OPENERS = [T_CLASS => T_CLASS, T_ANON_CLASS => T_ANON_CLASS, T_INTERFACE => T_INTERFACE, T_TRAIT => T_TRAIT, T_ENUM => T_ENUM, T_NAMESPACE => T_NAMESPACE, T_FUNCTION => T_FUNCTION, T_CLOSURE => T_CLOSURE, T_IF => T_IF, T_SWITCH => T_SWITCH, T_CASE => T_CASE, T_DECLARE => T_DECLARE, T_DEFAULT => T_DEFAULT, T_WHILE => T_WHILE, T_ELSE => T_ELSE, T_ELSEIF => T_ELSEIF, T_FOR => T_FOR, T_FOREACH => T_FOREACH, T_DO => T_DO, T_TRY => T_TRY, T_CATCH => T_CATCH, T_FINALLY => T_FINALLY, T_USE => T_USE, T_MATCH => T_MATCH]

STRING_TOKENS

Tokens that represent strings.

public array<int|string, int|string> STRING_TOKENS = [T_CONSTANT_ENCAPSED_STRING => T_CONSTANT_ENCAPSED_STRING, T_DOUBLE_QUOTED_STRING => T_DOUBLE_QUOTED_STRING]

Note that T_STRINGS are NOT represented in this list.

TEXT_STRING_TOKENS

Tokens that represent text strings.

public array<int|string, int|string> TEXT_STRING_TOKENS = self::STRING_TOKENS + [T_INLINE_HTML => T_INLINE_HTML, T_HEREDOC => T_HEREDOC, T_NOWDOC => T_NOWDOC]

WEIGHTINGS

The token weightings.

private array<int|string, int> WEIGHTINGS = [ T_CLASS => 1000, T_INTERFACE => 1000, T_TRAIT => 1000, T_ENUM => 1000, T_NAMESPACE => 1000, T_FUNCTION => 100, T_CLOSURE => 100, /* * Conditions. */ T_WHILE => 50, T_FOR => 50, T_FOREACH => 50, T_IF => 50, T_ELSE => 50, T_ELSEIF => 50, T_DO => 50, T_TRY => 50, T_CATCH => 50, T_FINALLY => 50, T_SWITCH => 50, T_MATCH => 50, T_SELF => 25, T_PARENT => 25, /* * Operators and arithmetic. */ T_BITWISE_AND => 8, T_BITWISE_OR => 8, T_BITWISE_XOR => 8, T_MULTIPLY => 5, T_DIVIDE => 5, T_PLUS => 5, T_MINUS => 5, T_MODULUS => 5, T_POW => 5, T_SPACESHIP => 5, T_COALESCE => 5, T_COALESCE_EQUAL => 5, T_SL => 5, T_SR => 5, T_SL_EQUAL => 5, T_SR_EQUAL => 5, T_EQUAL => 5, T_AND_EQUAL => 5, T_CONCAT_EQUAL => 5, T_DIV_EQUAL => 5, T_MINUS_EQUAL => 5, T_MOD_EQUAL => 5, T_MUL_EQUAL => 5, T_OR_EQUAL => 5, T_PLUS_EQUAL => 5, T_XOR_EQUAL => 5, T_BOOLEAN_AND => 5, T_BOOLEAN_OR => 5, /* * Equality. */ T_IS_EQUAL => 5, T_IS_NOT_EQUAL => 5, T_IS_IDENTICAL => 5, T_IS_NOT_IDENTICAL => 5, T_IS_SMALLER_OR_EQUAL => 5, T_IS_GREATER_OR_EQUAL => 5, ]

Properties

$arithmeticTokens

Tokens that represent arithmetic operators.

Use the Tokens::ARITHMETIC_TOKENS constant instead.

public static array<int|string, int|string> $arithmeticTokens = self::ARITHMETIC_TOKENS

$assignmentTokens

Tokens that represent assignments.

Use the Tokens::ASSIGNMENT_TOKENS constant instead.

public static array<int|string, int|string> $assignmentTokens = self::ASSIGNMENT_TOKENS

$blockOpeners

Tokens that open code blocks.

Use the Tokens::BLOCK_OPENERS constant instead.

public static array<int|string, int|string> $blockOpeners = self::BLOCK_OPENERS

$booleanOperators

Tokens that perform boolean operations.

Use the Tokens::BOOLEAN_OPERATORS constant instead.

public static array<int|string, int|string> $booleanOperators = self::BOOLEAN_OPERATORS

$bracketTokens

Tokens that represent brackets and parenthesis.

Use the Tokens::BRACKET_TOKENS constant instead.

public static array<int|string, int|string> $bracketTokens = self::BRACKET_TOKENS

$castTokens

Tokens that represent casting.

Use the Tokens::CAST_TOKENS constant instead.

public static array<int|string, int|string> $castTokens = self::CAST_TOKENS

$commentTokens

Tokens that are comments.

Use the Tokens::COMMENT_TOKENS constant instead.

public static array<int|string, int|string> $commentTokens = self::COMMENT_TOKENS

$comparisonTokens

Tokens that represent comparison operator.

Use the Tokens::COMPARISON_TOKENS constant instead.

public static array<int|string, int|string> $comparisonTokens = self::COMPARISON_TOKENS

$contextSensitiveKeywords

Tokens representing context sensitive keywords in PHP.

Use the Tokens::CONTEXT_SENSITIVE_KEYWORDS constant instead.

public static array<int|string, int|string> $contextSensitiveKeywords = self::CONTEXT_SENSITIVE_KEYWORDS
Tags
link
https://wiki.php.net/rfc/context_sensitive_lexer

$emptyTokens

Tokens that don't represent code.

Use the Tokens::EMPTY_TOKENS constant instead.

public static array<int|string, int|string> $emptyTokens = self::EMPTY_TOKENS

$equalityTokens

Tokens that represent equality comparisons.

Use the Tokens::EQUALITY_TOKENS constant instead.

public static array<int|string, int|string> $equalityTokens = self::EQUALITY_TOKENS

$functionNameTokens

Tokens that represent the names of called functions.

Use the Tokens::FUNCTION_NAME_TOKENS constant instead.

public static array<int|string, int|string> $functionNameTokens = self::FUNCTION_NAME_TOKENS

Mostly, these are just strings. But PHP tokenizes some language constructs and functions using their own tokens.

$heredocTokens

Tokens that make up a heredoc string.

Use the Tokens::HEREDOC_TOKENS constant instead.

public static array<int|string, int|string> $heredocTokens = self::HEREDOC_TOKENS

$includeTokens

Tokens that include files.

Use the Tokens::INCLUDE_TOKENS constant instead.

public static array<int|string, int|string> $includeTokens = self::INCLUDE_TOKENS

$magicConstants

Tokens representing PHP magic constants.

Use the Tokens::MAGIC_CONSTANTS constant instead.

public static array<string|int, int|string> $magicConstants = self::MAGIC_CONSTANTS

=> <int|string>

Tags
link

PHP Manual on magic constants

$methodPrefixes

Tokens that can prefix a method name

Use the Tokens::METHOD_MODIFIERS constant instead.

public static array<int|string, int|string> $methodPrefixes = self::METHOD_MODIFIERS

$ooScopeTokens

Tokens that open class and object scopes.

Use the Tokens::OO_SCOPE_TOKENS constant instead.

public static array<int|string, int|string> $ooScopeTokens = self::OO_SCOPE_TOKENS

$operators

Tokens that perform operations.

Use the Tokens::OPERATORS constant instead.

public static array<int|string, int|string> $operators = self::OPERATORS

$parenthesisOpeners

Token types that open parenthesis.

Use the Tokens::PARENTHESIS_OPENERS constant instead.

public static array<int|string, int|string> $parenthesisOpeners = self::PARENTHESIS_OPENERS

$phpcsCommentTokens

Tokens that are comments containing PHPCS instructions.

Use the Tokens::PHPCS_ANNOTATION_TOKENS constant instead.

public static array<int|string, int|string> $phpcsCommentTokens = self::PHPCS_ANNOTATION_TOKENS

$scopeModifiers

Tokens that represent scope modifiers.

Use the Tokens::SCOPE_MODIFIERS constant instead.

public static array<int|string, int|string> $scopeModifiers = self::SCOPE_MODIFIERS

$scopeOpeners

Tokens that are allowed to open scopes.

Use the Tokens::SCOPE_OPENERS constant instead.

public static array<int|string, int|string> $scopeOpeners = self::SCOPE_OPENERS

$stringTokens

Tokens that represent strings.

Use the Tokens::STRING_TOKENS constant instead.

public static array<int|string, int|string> $stringTokens = self::STRING_TOKENS

Note that T_STRINGS are NOT represented in this list.

$textStringTokens

Tokens that represent text strings.

Use the Tokens::TEXT_STRINGS constant instead.

public static array<int|string, int|string> $textStringTokens = self::TEXT_STRING_TOKENS

$weightings

The token weightings.

Use the Tokens::getHighestWeightedToken() method instead.

public static array<int|string, int> $weightings = self::WEIGHTINGS

Methods

getHighestWeightedToken()

Returns the highest weighted token type.

public static getHighestWeightedToken(array<string|int, int|string> $tokens) : int|string

Tokens are weighted by their approximate frequency of appearance in code

  • the less frequently they appear in the code, the higher the weighting. For example T_CLASS tokens appear very infrequently in a file, and therefore have a high weighting.

If there are no weightings for any of the specified tokens, the first token seen in the passed array will be returned.

Parameters
$tokens : array<string|int, int|string>

The token types to get the highest weighted type for.

Return values
int|string

The highest weighted token. On equal "weight", returns the first token of that particular weight.

tokenName()

Given a token constant, returns the name of the token.

public static tokenName(int|string $token) : string

If passed an integer, the token name is sourced from PHP's token_name() function. If passed a string, it is assumed to be a PHPCS-supplied token that begins with PHPCS_T_, so the name is sourced from the token value itself.

Parameters
$token : int|string

The token constant to get the name for.

Return values
string

        
On this page

Search results