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()` を実行する