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()` かを返す |