PhpToken::tokenize

(PHP 8)

PhpToken::tokenizeソースコードを PhpToken オブジェクトで表現されたトークンに分割する

説明

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

与えられた code を表現する PhpToken オブジェクトの配列を返します。

パラメータ

code

パースする PHP のコード。

flags

有効なフラグ:

  • TOKEN_PARSE - 特定のコンテクストで予約語を認識します。

戻り値

PhpToken、またはそのサブクラスで表現される、PHPトークンの配列を返します。 このメソッドの戻り値は、PhpToken をシームレスに拡張できるように、 static[] 型になっています。

例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 Extending 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 トークンに分割する
関連キーワード:  PhpToken, 表現, 分割, オブジェクト, tokenize, flags, static, 配列, 出力, メソッド