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
|
表記ゆれと短縮名を、内部で扱う設定値にそろえる |