NaifyView\Compiler\CompiledExpressionOperatorFastPathBuilder クラス

CompiledExpressionOperatorFastPathBuilder — compiled mainline の Compiled Expression Operator Fast Path Builder

template を generated PHP class へ落とす compile pipeline の一部。 大きな compiler へ責務を押し込まず、source 生成・依存計画・fast path などを小さく分ける。

使用例

// Engine が warm-hit できない template を compiled artifact へ変換する時に使う。
// 通常は View / Engine 経由で呼ばれ、アプリ側から直接操作しない。

プロパティ

名前型説明
private $expressionEvaluator NaifyExpressionEvaluator
private $resolveValueExpression Closure ?string
private $buildOperandExpression Closure ?string

メソッド

メソッド説明
public __construct(NaifyExpressionEvaluator $expressionEvaluator, Closure $resolveValueExpression, Closure $buildOperandExpression): void インスタンスを初期化する
public resolveOperation(array $operation, string $scopeVar): ?string Emit the operation selected by the dialect, retaining native PHP short-circuiting.
public resolveTernaryExpressionWithResolvers(string $expression, string $scopeVar, Closure $conditionResolver, Closure $branchResolver): ?string `resolveTernaryExpressionWithResolvers()` を実行する
private isCompiledSingleQuotedStringLiteral(string $expression): bool compiled PHP 上で安全にそのまま連結できる single quoted literal かを返す
private buildArithmeticExpression(array $parts, array $operators, string $scopeVar): ?string `buildArithmeticExpression()` を実行する
private resolveNumericLiteralExpression(string $expression): ?string 数値リテラルを runtime normalize なしで PHP literal に寄せる
private formatTernaryBranchExpression(string $expression): string `formatTernaryBranchExpression()` を実行する
private formatCoalescePartExpression(string $expression): string `formatCoalescePartExpression()` を実行する
private collapseNullFallbackCoalesceExpression(string $firstExpression, string $fallbackExpression): ?string `collapseNullFallbackCoalesceExpression()` を実行する
private isSimplePhpLiteralExpression(string $expression): bool `isSimplePhpLiteralExpression()` かを返す