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設定を複製して取り出す |