NaifyView\Compiler\CompiledArtifactDependencyPlanner クラス
CompiledArtifactDependencyPlanner — compiled mainline の Compiled Artifact Dependency Planner
template を generated PHP class へ落とす compile pipeline の一部。 大きな compiler へ責務を押し込まず、source 生成・依存計画・fast path などを小さく分ける。
使用例
// Engine が warm-hit できない template を compiled artifact へ変換する時に使う。
// 通常は View / Engine 経由で呼ばれ、アプリ側から直接操作しない。
プロパティ
| 名前 | 型 | 説明 |
|---|---|---|
private
$expressionEvaluator
|
NaifyExpressionEvaluator |
top-level split helper |
private
$bindingParser
|
NaifyBindingParser |
include/layout with binding parser |
private
$helperChainParser
|
NaifyHelperChainParser |
explicit filter world parser |
メソッド
| メソッド | 説明 |
|---|---|
public
__construct(?NaifyExpressionEvaluator $expressionEvaluator, ?NaifyBindingParser $bindingParser, ?NaifyHelperChainParser $helperChainParser): void
|
インスタンスを初期化する |
public
createEmptyPlan(): array
|
`createEmptyPlan()` を実行する |
public
mergeTemplatePlan(array $aggregatePlan, string $templatePath, DocumentNode $document): void
|
`mergeTemplatePlan()` を実行する |
private
analyzeNodeList(array $nodes, array $plan): void
|
`analyzeNodeList()` を実行する |
private
analyzeNode(NodeInterface $node, array $plan): void
|
`analyzeNode()` を実行する |
private
analyzeAttributeValue(string $attributeValue, array $plan): void
|
`analyzeAttributeValue()` を実行する |
private
analyzeBindingExpression(?string $withExpression, array $plan): void
|
`analyzeBindingExpression()` を実行する |
private
analyzeOutputExpression(string $expression, array $plan): void
|
`analyzeOutputExpression()` を実行する |
private
analyzeValueExpression(string $expression, array $plan): void
|
`analyzeValueExpression()` を実行する |
private
recordFilter(array $plan, string $filterName): void
|
`recordFilter()` を実行する |
private
recordSpecialVariable(array $plan, string $specialVariable): void
|
`recordSpecialVariable()` を実行する |
private
recordFeatureFlag(array $plan, string $featureFlag): void
|
`recordFeatureFlag()` を実行する |
private
incrementNodeCount(array $plan, string $nodeType): void
|
`incrementNodeCount()` を実行する |
private
normalizePlan(array $plan): void
|
`normalizePlan()` を実行する |