NaifyViewExtension\Dialect\Smarty\SmartyExtension クラス

implements NaifyView\Extension\NaifyViewExtensionInterface

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の中間表現へ変換する