**一.PhpToken类简介**
#Token令牌生成器类
```
class PhpToken implements Stringable {
/**
* One of the T_* constants, or an integer < 256 representing a single-char token.
*/
public int $id;
/** The textual content of the token. */
public string $text;
/** The starting line number (1-based) of the token. */
public int $line;
/** The starting position (0-based) in the tokenized string. */
public int $pos;
/** @return static[] */
public static function tokenize(string $code, int $flags = 0): array {}
final public function __construct(int $id, string $text, int $line = -1, int $pos = -1) {}
/**
* Whether the token has the given ID, the given text,
* or has an ID/text part of the given array.
*/
public function is(int|string|array $kind): bool {}
/** Whether this token would be ignored by the PHP parser. */
public function isIgnorable(): bool {}
/** Get the name of the token. */
public function getTokenName(): ?string {}
/** Returns $text property */
public function __toString(): string {}
}
```
**二.生成Token**
1.token_get_all函数
```
$code='<?php echo 123 ?>';
$arr=token_get_all($code);
```
2.PhpToken类
```
$code='<?php echo 123 ?>';
$arr=PhpToken::tokenize($code);
```
**三.常用的属性**
```
$code='<?php echo 123 ?>';
$arr=PhpToken::tokenize($code);
```
#PhpToken对象
```
$obj=$arr[1];
echo $obj->id;
echo '
';
echo $obj->text;
echo '
';
echo $obj->line;
echo '
';
echo $obj->pos;
```