NaifyViewExtension\Dialect\Smarty\SmartyExtension クラス
SmartyExtension — Smarty向けの変換とフィルターをまとめて使う
描画用にはフィルターとIRプロバイダーをCoreへ登録する。 移行結果を確認したい場合はconvert()でNativeソースを、convertToIr()でIRを取得する。 本家Smartyの全機能を実行するエンジンではなく、対応する構文をCoreへ橋渡しする。
使用例
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
$filter
|
?SmartyFilter |
注入された、または初回利用時に生成する部品 |
private
$converter
|
?SmartyTemplateConverter |
注入された、または初回利用時に生成する部品 |
private
$templateIrProvider
|
?SmartyTemplateIrProvider |
注入された、または初回利用時に生成する部品 |
メソッド
| メソッド | 説明 |
|---|---|
public
__construct(?SmartyFilter $filter, ?SmartyTemplateConverter $converter, ?SmartyTemplateIrProvider $templateIrProvider):
|
必要な部品を差し替えて拡張を用意する
省略した部品は、初めて使うときに既定の実装を生成する。 |
public
extend(NaifyViewExtensionRegistry $registry): void
|
描画用のフィルターとIRプロバイダーを登録する |
public
getFilter(): SmartyFilter
|
この拡張で再利用するフィルターを取得する |
public
getConverter(): SmartyTemplateConverter
|
手動変換に使う変換器を取得する |
public
getTemplateIrProvider(): SmartyTemplateIrProvider
|
描画時にIRを供給するプロバイダーを取得する |
public
convert(string $smartySource): SmartyTemplateConversionResult
|
ソースをNative構文へ寄せ、変換結果と注意点を返す
返却値のisComplete()とgetUnsupported()を確認してから移行先で使う。 |
public
convertToIr(string $smartySource): SmartyTemplateConversionResult
|
ソースをCoreの中間表現へ変換する |