Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Token.php

class Token

Same name in this branch
  1. 11.1.x vendor/theseer/tokenizer/src/Token.php \TheSeer\Tokenizer\Token
  2. 11.1.x vendor/doctrine/lexer/src/Token.php \Doctrine\Common\Lexer\Token
  3. 11.1.x vendor/nikic/php-parser/lib/PhpParser/Token.php \PhpParser\Token
  4. 11.1.x vendor/symfony/css-selector/Parser/Token.php \Symfony\Component\CssSelector\Parser\Token
  5. 11.1.x vendor/mck89/peast/lib/Peast/Syntax/Token.php \Peast\Syntax\Token
  6. 11.1.x core/lib/Drupal/Core/Render/Element/Token.php \Drupal\Core\Render\Element\Token
  7. 11.1.x core/lib/Drupal/Core/Utility/Token.php \Drupal\Core\Utility\Token

@author Fabien Potencier <fabien@symfony.com>

Hierarchy

  • class \Twig\Token

Expanded class hierarchy of Token

22 files declare their use of Token
ApplyTokenParser.php in vendor/twig/twig/src/TokenParser/ApplyTokenParser.php
AutoEscapeTokenParser.php in vendor/twig/twig/src/TokenParser/AutoEscapeTokenParser.php
BlockTokenParser.php in vendor/twig/twig/src/TokenParser/BlockTokenParser.php
DeprecatedTokenParser.php in vendor/twig/twig/src/TokenParser/DeprecatedTokenParser.php
DoTokenParser.php in vendor/twig/twig/src/TokenParser/DoTokenParser.php

... See full list

15 string references to 'Token'
AbstractPatternSniff::createTokenPattern in vendor/squizlabs/php_codesniffer/src/Sniffs/AbstractPatternSniff.php
Creates a token pattern.
AbstractPatternSniff::getPatternTokenTypes in vendor/squizlabs/php_codesniffer/src/Sniffs/AbstractPatternSniff.php
Returns the token types that the specified pattern is checking for.
AbstractPatternSniff::processPattern in vendor/squizlabs/php_codesniffer/src/Sniffs/AbstractPatternSniff.php
Processes the pattern and verifies the code at $stackPtr.
BatchStorage::schemaDefinition in core/lib/Drupal/Core/Batch/BatchStorage.php
Defines the schema for the batch table.
ContentTranslationHandler::entityFormSharedElements in core/modules/content_translation/src/ContentTranslationHandler.php
Process callback: determines which elements get clue in the form.

... See full list

File

vendor/twig/twig/src/Token.php, line 18

Namespace

Twig
View source
final class Token {
    public const EOF_TYPE = -1;
    public const TEXT_TYPE = 0;
    public const BLOCK_START_TYPE = 1;
    public const VAR_START_TYPE = 2;
    public const BLOCK_END_TYPE = 3;
    public const VAR_END_TYPE = 4;
    public const NAME_TYPE = 5;
    public const NUMBER_TYPE = 6;
    public const STRING_TYPE = 7;
    public const OPERATOR_TYPE = 8;
    public const PUNCTUATION_TYPE = 9;
    public const INTERPOLATION_START_TYPE = 10;
    public const INTERPOLATION_END_TYPE = 11;
    public const ARROW_TYPE = 12;
    public const SPREAD_TYPE = 13;
    public function __construct(int $type, $value, int $lineno) {
    }
    public function __toString() {
        return \sprintf('%s(%s)', self::typeToString($this->type, true), $this->value);
    }
    
    /**
     * Tests the current token for a type and/or a value.
     *
     * Parameters may be:
     *  * just type
     *  * type and value (or array of possible values)
     *  * just value (or array of possible values) (NAME_TYPE is used as type)
     *
     * @param array|string|int  $type   The type to test
     * @param array|string|null $values The token value
     */
    public function test($type, $values = null) : bool {
        if (null === $values && !\is_int($type)) {
            $values = $type;
            $type = self::NAME_TYPE;
        }
        return $this->type === $type && (null === $values || \is_array($values) && \in_array($this->value, $values) || $this->value == $values);
    }
    public function getLine() : int {
        return $this->lineno;
    }
    public function getType() : int {
        return $this->type;
    }
    public function getValue() {
        return $this->value;
    }
    public static function typeToString(int $type, bool $short = false) : string {
        switch ($type) {
            case self::EOF_TYPE:
                $name = 'EOF_TYPE';
                break;
            case self::TEXT_TYPE:
                $name = 'TEXT_TYPE';
                break;
            case self::BLOCK_START_TYPE:
                $name = 'BLOCK_START_TYPE';
                break;
            case self::VAR_START_TYPE:
                $name = 'VAR_START_TYPE';
                break;
            case self::BLOCK_END_TYPE:
                $name = 'BLOCK_END_TYPE';
                break;
            case self::VAR_END_TYPE:
                $name = 'VAR_END_TYPE';
                break;
            case self::NAME_TYPE:
                $name = 'NAME_TYPE';
                break;
            case self::NUMBER_TYPE:
                $name = 'NUMBER_TYPE';
                break;
            case self::STRING_TYPE:
                $name = 'STRING_TYPE';
                break;
            case self::OPERATOR_TYPE:
                $name = 'OPERATOR_TYPE';
                break;
            case self::PUNCTUATION_TYPE:
                $name = 'PUNCTUATION_TYPE';
                break;
            case self::INTERPOLATION_START_TYPE:
                $name = 'INTERPOLATION_START_TYPE';
                break;
            case self::INTERPOLATION_END_TYPE:
                $name = 'INTERPOLATION_END_TYPE';
                break;
            case self::ARROW_TYPE:
                $name = 'ARROW_TYPE';
                break;
            case self::SPREAD_TYPE:
                $name = 'SPREAD_TYPE';
                break;
            default:
                throw new \LogicException(\sprintf('Token of type "%s" does not exist.', $type));
        }
        return $short ? $name : 'Twig\\Token::' . $name;
    }
    public static function typeToEnglish(int $type) : string {
        switch ($type) {
            case self::EOF_TYPE:
                return 'end of template';
            case self::TEXT_TYPE:
                return 'text';
            case self::BLOCK_START_TYPE:
                return 'begin of statement block';
            case self::VAR_START_TYPE:
                return 'begin of print statement';
            case self::BLOCK_END_TYPE:
                return 'end of statement block';
            case self::VAR_END_TYPE:
                return 'end of print statement';
            case self::NAME_TYPE:
                return 'name';
            case self::NUMBER_TYPE:
                return 'number';
            case self::STRING_TYPE:
                return 'string';
            case self::OPERATOR_TYPE:
                return 'operator';
            case self::PUNCTUATION_TYPE:
                return 'punctuation';
            case self::INTERPOLATION_START_TYPE:
                return 'begin of string interpolation';
            case self::INTERPOLATION_END_TYPE:
                return 'end of string interpolation';
            case self::ARROW_TYPE:
                return 'arrow function';
            case self::SPREAD_TYPE:
                return 'spread operator';
            default:
                throw new \LogicException(\sprintf('Token of type "%s" does not exist.', $type));
        }
    }

}

Members

Title Sort descending Modifiers Object type Summary
Token::ARROW_TYPE public constant
Token::BLOCK_END_TYPE public constant
Token::BLOCK_START_TYPE public constant
Token::EOF_TYPE public constant
Token::getLine public function
Token::getType public function
Token::getValue public function
Token::INTERPOLATION_END_TYPE public constant
Token::INTERPOLATION_START_TYPE public constant
Token::NAME_TYPE public constant
Token::NUMBER_TYPE public constant
Token::OPERATOR_TYPE public constant
Token::PUNCTUATION_TYPE public constant
Token::SPREAD_TYPE public constant
Token::STRING_TYPE public constant
Token::test public function Tests the current token for a type and/or a value.
Token::TEXT_TYPE public constant
Token::typeToEnglish public static function
Token::typeToString public static function
Token::VAR_END_TYPE public constant
Token::VAR_START_TYPE public constant
Token::__construct public function
Token::__toString public function
RSS feed
Powered by Drupal