NaifyView\View\ViewConfig クラス

ViewConfig — Viewを作るための設定をまとめて持つ

探索先、描画条件、拡張をひとまとめにして、ViewFactoryへ渡すためのオブジェクト。 自身は変更可能だが、NaifyView::create()では設定を複製してからViewを組み立てる。 setterは値を返さない。メソッドチェーンで設定したいときはViewConfiguratorを使う。

使用例

use NaifyView\NaifyView;
use NaifyView\View\ViewConfig;

NaifyView::boot();
$config = new ViewConfig();
$config->addTemplateDir(__DIR__ . '/views');
$config->setCacheDir(__DIR__ . '/cache/views');
$config->setAutoEscape(true);

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

プロパティ

名前型説明
private $templateDirs array 登録順に探索するテンプレートディレクトリ
private $cacheDir ?string コンパイル済みPHPの保存先
private $parserDialect ?string テンプレートを解析する方言名
private $errorHandler mixed 描画失敗時の通知先
private $forceCompile bool キャッシュがあっても再コンパイルするか
private $executionTimeLimit int 描画時に適用する実行時間の上限(秒)
private $templateRecursionLimit int テンプレート呼び出しの再帰上限
private $compileLevel string 生成コードの診断レベル
private $compilePipeline string コンパイル経路
private $traceLevel ?string 描画トレースの詳しさ
private $autoEscape bool 式の出力を自動でHTMLエスケープするか
private $delimiters ?array 式を囲む区切り文字の設定
private $compileDirectivePrefix ?string コンパイル指示の接頭辞
private $compilePrologMarkers ?array テンプレート先頭で認識する宣言マーカー
private $filterHandlers array 式のフィルターを提供する処理
private $callableProviders array テンプレートから呼べる関数の提供元
private $templateIrProviders array テンプレートを中間表現へ変換する提供元
private $templateBasePath ?string 相対テンプレート名を解決する基準パス
private $template ?string 描画時に省略できる既定テンプレート名

メソッド

メソッド説明
public addTemplateDir(string $templateDir): void 探索先を末尾に追加する
public addTemplateDirs(array $templateDirs): void 指定された順序で探索先を追加する
public getTemplateDirs(): array 登録順の探索先を返す
public setCacheDir(?string $cacheDir): void コンパイル済みPHPの保存先を設定する
nullで指定を解除する。描画には書き込み可能な保存先が必要。
public getCacheDir(): ?string コンパイル済みPHPの保存先を返す
public setParserDialect(?string $parserDialect): void テンプレートを解析する方言名を設定する
外部方言を使う場合は、対応する拡張も登録する。
public getParserDialect(): ?string テンプレートを解析する方言名を返す
public setErrorHandler(?callable $errorHandler): void 描画失敗時の通知先を設定する
例外と診断情報の配列を受け取る。戻り値で描画結果を置き換えるものではない。
public getErrorHandler(): ?callable 描画失敗時の通知先を返す
public setForceCompile(bool $forceCompile): void キャッシュがあっても再コンパイルするかを設定する
テンプレートの変更を確認する開発時に使う。
public getForceCompile(): bool キャッシュがあっても再コンパイルするかを返す
public setExecutionTimeLimit(int $executionTimeLimit): void 描画時に適用する実行時間の上限(秒)を設定する
1未満は1に補正する。
public getExecutionTimeLimit(): int 描画時に適用する実行時間の上限(秒)を返す
public setTemplateRecursionLimit(int $templateRecursionLimit): void テンプレート呼び出しの再帰上限を設定する
1未満は1に補正する。
public getTemplateRecursionLimit(): int テンプレート呼び出しの再帰上限を返す
public setCompileLevel(string $compileLevel): void 生成コードの診断レベルを設定する
production / debug / devを指定する。認識できない値はdebugになる。
public getCompileLevel(): string 生成コードの診断レベルを返す
public setCompilePipeline(string $compilePipeline): void コンパイル経路を設定する
directは直接コンパイル、irは中間表現を経由する。認識できない値はdirectになる。
public getCompilePipeline(): string コンパイル経路を返す
public setTraceLevel(?string $traceLevel): void 描画トレースの詳しさを設定する
off / summary / detail / debugを指定する。nullは明示指定なし、認識できない値はoffになる。
public getTraceLevel(): ?string 描画トレースの詳しさを返す
public setAutoEscape(bool $autoEscape): void 式の出力を自動でHTMLエスケープするかを設定する
HTMLとして表示する通常の変数にはtrueを指定する。
public getAutoEscape(): bool 式の出力を自動でHTMLエスケープするかを返す
public setDelimiters(?array $delimiters): void 式を囲む区切り文字の設定を設定する
nullなら標準の区切り文字を使う。
public getDelimiters(): ?array 式を囲む区切り文字の設定を返す
public setCompileDirectivePrefix(?string $directivePrefix): void コンパイル指示の接頭辞を設定する
nullなら標準の接頭辞を使う。
public getCompileDirectivePrefix(): ?string コンパイル指示の接頭辞を返す
public setCompilePrologMarkers(?array $prologMarkers): void テンプレート先頭で認識する宣言マーカーを設定する
nullなら標準のマーカーを使う。
public getCompilePrologMarkers(): ?array テンプレート先頭で認識する宣言マーカーを返す
public addFilterHandler(object|array $filterHandler): void 式のフィルターを提供する処理を追加する
public clearFilterHandlers(): void 登録済みのフィルター提供元をすべて外す
関数や中間表現の提供元は残す。
public getFilterHandlers(): array 登録済みのフィルター提供元を返す
public addCallableProvider(object $callableProvider): void テンプレートから呼べる関数の提供元を追加する
public getCallableProviders(): array 登録済みの関数提供元を返す
public addTemplateIrProvider(TemplateIrProviderInterface $templateIrProvider): void テンプレートを中間表現へ変換する提供元を追加する
public getTemplateIrProviders(): array 登録済みの中間表現の提供元を返す
public addExtension(NaifyViewExtensionInterface $extension): void 拡張に含まれるフィルター・関数・変換処理をまとめて登録する
public setTemplateBasePath(?string $templateBasePath): void 相対テンプレート名を解決する基準パスを設定する
public getTemplateBasePath(): ?string 相対テンプレート名を解決する基準パスを返す
public setTemplate(?string $template): void 描画時に省略できる既定テンプレート名を設定する
nullで既定の指定を解除する。
public getTemplate(): ?string 描画時に省略できる既定テンプレート名を返す
private normalizeCompileLevel(string $compileLevel): string 表記ゆれと短縮名を、内部で扱う設定値にそろえる
private normalizeCompilePipeline(string $compilePipeline): string 表記ゆれと短縮名を、内部で扱う設定値にそろえる
private normalizeTraceLevel(string $traceLevel): string 表記ゆれと短縮名を、内部で扱う設定値にそろえる