NaifyViewExtension\Core\NaifyViewExtensionConfigurator クラス

NaifyViewExtensionConfigurator — 外部構文を選び、描画条件を組み立てる

Smarty / Twigの選択と拡張の登録をここで引き受け、描画設定はCoreへ渡す。 設定を用意した後はNaifyViewExtension::create()でViewを生成する。

使用例

use NaifyViewExtension\NaifyViewExtension;

$config = NaifyViewExtension::configure(__DIR__ . '/views')
    ->smarty()
    ->setCacheDir(__DIR__ . '/cache/views')
    ->setAutoEscape(true);

$view = NaifyViewExtension::create($config);
echo $view->render('hello.tpl', ['name' => 'Naify']);

プロパティ

名前型説明
private $coreConfigurator ViewConfigurator 描画設定を預けるCoreの設定窓口
private $registeredDialects array 同じ構文の拡張を重複登録しないための記録

メソッド

メソッド説明
public __construct(array|string|null $viewsDir): Coreと共有しない独立した設定を用意する
public smarty(): static Smarty構文を使う設定に切り替える
public twig(): static Twig構文を使う設定に切り替える
public setDialect(string $dialect): static 構文種別を選び、必要な拡張を登録する
Smarty / Twigは一度だけ登録する。切り替え前の拡張を解除する処理ではない。
public addTemplateDir(string $templateDir): static テンプレートの探索先を末尾に追加する
public addTemplateDirs(array $templateDirs): static 複数の探索先を指定順に追加する
public setCacheDir(?string $cacheDir): static コンパイルしたPHPの保存先を指定する
public setForceCompile(bool $forceCompile): static コンパイル済みキャッシュを再利用せずに描画するか指定する
public setTemplate(?string $template): static View生成時に設定しておくテンプレート名を指定する
public setTemplateBasePath(?string $templateBasePath): static 既定テンプレート名の先頭に付けるパスを指定する
public setAutoEscape(bool $autoEscape): static 補間値の自動エスケープを設定する
public setTraceLevel(?string $traceLevel): static 描画トレースの記録量を指定する
public setCompileLevel(string $compileLevel): static 生成コードのコンパイルレベルを選ぶ
public setCompilePipeline(string $compilePipeline): static 直接コンパイルとIR経由の経路を選ぶ
public setExecutionTimeLimit(int $seconds): static 描画の実行時間上限を秒単位で指定する
public setTemplateRecursionLimit(int $limit): static テンプレートの再帰呼び出し上限を指定する
public addFilterHandler(object|array $filterHandler): static この設定で作るViewへフィルターを追加する
public addCallableProvider(object $callableProvider): static テンプレート式から呼ぶ関数の提供元を追加する
public addTemplateIrProvider(TemplateIrProviderInterface $templateIrProvider): static 外部構文をIRへ変換する提供元を追加する
public addExtension(NaifyViewExtensionInterface $extension): static 関連する拡張機能をまとめて登録する
public toViewConfigurator(): ViewConfigurator Coreへ渡す設定窓口を返す
コピーではないため、返却値への変更はこの設定にも反映される。
public snapshotConfig(): ViewConfig 現在のCore設定を複製して取り出す