Разбирает заданную строку, содержащую программу на PHP, на массив объектов PhpToken

# PhpToken::tokenize

(PHP 8)

PhpToken::tokenize — Разбирает заданную строку, содержащую программу на PHP, на массив объектов PhpToken

### Описание

public static function PhpToken::tokenize(string `$code`, int `$flags` = 0): array

Возвращает массив объектов PhpToken, представляющих код `code`.

### Список параметров

`code`

  Исходный код на языке PHP.

`flags`

  Допустимые флаги:

  - `TOKEN_PARSE` - допускает возможность использовать зарезервированные слова в определённых контекстах.

### Возвращаемые значения

Массив токенов PHP в виде объектов класса PhpToken или его потомков. Этот метод возвращает static[], так что PhpToken можно свободно расширять.

### Примеры

Пример #1 Пример использования PhpToken::tokenize()

    <?php
    $tokens = PhpToken::tokenize('<?php echo; ?>');

    foreach ($tokens as $token) {
        echo "Line {$token->line}: {$token->getTokenName()} ('{$token->text}')", PHP_EOL;
    }

Результат выполнения приведённых примеров:

    Line 1: T_OPEN_TAG ('<?php ')
    Line 1: T_ECHO ('echo')
    Line 1: ; (';')
    Line 1: T_WHITESPACE (' ')
    Line 1: T_CLOSE_TAG ('?>')

Пример #2 Расширение PhpToken

    <?php

    class MyPhpToken extends PhpToken {
        public function getUpperText() {
            return strtoupper($this->text);
        }
    }

    $tokens = MyPhpToken::tokenize('<?php echo; ?>');
    echo "'{$tokens[0]->getUpperText()}'";

Результат выполнения приведённых примеров:

    '<?PHP '

### Смотрите также

- token_get_all() - Разбивает исходный код на PHP-лексемы

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open