PHP Conference Nagoya 2025

PhpToken::tokenize

(PHP 8)

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

Описание

public static 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-лексемы
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top