NaifyViewExtension\Core\ExtensionTemplateProjectContextBuilder クラス

IR provider / project converter の両方で使う project context builder。

プロパティ

名前型説明
private $projectHelper ExtensionTemplateProjectHelper
private static $smartyContextCache array
private static $twigContextCache array
private static $smartyAuditContextCache array

メソッド

メソッド説明
public static clearProcessCaches(): void
public __construct(?ExtensionTemplateProjectHelper $projectHelper):
public buildSmartyForTemplate(string $template, string $resolvedPath): ExtensionTemplateProjectContext
public buildSmartyForRoot(string $sourceRoot): ExtensionTemplateProjectContext
public buildSmartyAuditForRoot(string $sourceRoot, array $extensions = '...', string $openDelimiter = {, string $closeDelimiter = }, array $customTags = '...'): ExtensionTemplateProjectContext Smarty migration/audit 向けに、custom delimiter / custom tag を織り込んだ compile-ready project context を返す。
public buildTwigForTemplate(string $template, string $resolvedPath): ExtensionTemplateProjectContext
public buildTwigForRoot(string $sourceRoot): ExtensionTemplateProjectContext
private deriveSourceRoot(string $templateName, string $resolvedPath): string
private normalizeTemplateName(string $template): string
private isCachedContextFresh(ExtensionTemplateProjectContext $context, array $sourceFiles, array $sourceSignature): bool
private normalizeNameList(array $values): array
private buildSmartyAuditCacheKey(string $sourceRoot, array $extensions, string $openDelimiter, string $closeDelimiter, array $customTags): string
private collectSmartyIncludeLocalNames(array $templateSources, string $openDelimiter = {, string $closeDelimiter = }): array
private stripSmartyCustomTagsFromTemplateSources(array $templateSources, string $openDelimiter, string $closeDelimiter, array $customTags): array
public static stripSmartyCustomTagsForCompile(string $template, string $openDelimiter, string $closeDelimiter, array $customTags): string
private collectSmartyScopeLeakingTemplateFiles(array $templateSources): array
private readStaticSmartyIncludeFile(string $attributes): string
private collectTwigIncludeLocalNames(array $templateSources): array
private static readSmartyTagBody(string $template, int $offset, string $openDelimiter, string $closeDelimiter): array
private static consumeSmartyLiteralBlock(string $template, int $offset, string $openDelimiter, string $closeDelimiter): array
private static getSmartyTagName(string $body): string
private static isCustomSmartyTagName(string $tagName, array $customTags): bool
private static isEscapedSmartyCharacter(string $source, int $offset): bool