NaifyView\Executor\ControlRuntime クラス
ControlRuntime — 条件分岐と繰り返しをASTから実行する
条件式・反復対象を評価し、ループ情報とbreak / continueを扱いながら本文を描画する。
ASTを直接実行する経路の内部部品。通常の描画にはView::render()を使う。
プロパティ
| 名前 | 型 | 説明 |
|---|---|---|
private
$evaluator
|
NaifyExpressionEvaluator |
expression evaluator |
メソッド
| メソッド | 説明 |
|---|---|
public
__construct(NaifyExpressionEvaluator $evaluator): void
|
インスタンスを初期化する |
public
renderIf(IfNode $node, array $scope, array $state, callable $renderNodes): NodeRenderResult
|
`renderIf()` を実行する |
public
renderForEach(ForEachNode $node, array $scope, array $state, callable $renderNodes): NodeRenderResult
|
`renderForEach()` を実行する |
public
renderForRange(ForRangeNode $node, array $scope, array $state, callable $renderNodes): NodeRenderResult
|
`renderForRange()` を実行する |
private
buildLoopState(int $index, int $length): array
|
`buildLoopState()` を実行する |
private
buildRangeValues(int $start, int $end, int $step): array
|
`buildRangeValues()` を実行する |
private
normalizeRangeNumber(mixed $value, string $expression): int
|
`normalizeRangeNumber()` を実行する |
private
matchesLoopControlTarget(NodeRenderResult $result, ?string $currentLoopName): bool
|
`matchesLoopControlTarget()` を実行する |