**一.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;

```

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐