NaifyView\Tokenizer\Token クラス PHP 8.0+ 8.1 → readonly8.2 → readonly class
Token — テンプレートから切り出した字句と位置を運ぶ
字句解析で得た文字列・属性・元の位置を保持する。 パーサーはこの情報から構文木を組み立て、エラー時には元の位置を案内できる。 通常はNaifyTokenizerが生成するため、アプリから直接作る必要はない。
プロパティ
| 名前 | 型 | 説明 |
|---|---|---|
private
$kind
|
string |
字句の種類。TokenKindの定数を使う |
private
$lexeme
|
string |
切り出した元の文字列 |
private
$span
|
SourceSpan |
元のテンプレート内での位置 |
private
$name
|
?string |
タグや命令の名前。該当しない字句はnull |
private
$attributes
|
array |
属性名と値の対応表 |
private
$content
|
?string |
式など、外側の記号を除いた内容 |
private
$closing
|
bool |
閉じタグかどうか |
private
$selfClosing
|
bool |
単独で閉じるタグかどうか |
メソッド
| メソッド | 説明 |
|---|---|
public
__construct(string $kind, string $lexeme, SourceSpan $span, ?string $name, array $attributes = '...', ?string $content, bool $closing = false, bool $selfClosing = false):
|
字句と元の位置を、解析側へ渡せる形で保持する |
public
getKind(): string
|
字句の種類を返す |
public
getLexeme(): string
|
切り出した元の文字列を返す |
public
getSpan(): SourceSpan
|
元のテンプレート内での位置を返す |
public
getName(): ?string
|
タグや命令の名前を返す |
public
getAttributes(): array
|
属性名と値の対応表を返す |
public
getContent(): ?string
|
式など、外側の記号を除いた内容を返す |
public
isClosing(): bool
|
閉じタグかどうかを返す |
public
isSelfClosing(): bool
|
単独で閉じるタグかどうかを返す |
public
toArray(): array
|
字句の内容と位置を診断用の配列にまとめる |