NaifyViewExtension\Dialect\Twig\TwigExtension クラス

implements NaifyView\Extension\NaifyViewExtensionInterface

TwigExtension — Twig向けの変換とフィルターをまとめて使う

描画用にはフィルターとIRプロバイダーをCoreへ登録する。 移行結果を確認したい場合はconvert()でNativeソースを、convertToIr()でIRを取得する。 本家Twigの全機能を実行するエンジンではなく、対応する構文をCoreへ橋渡しする。

使用例

use NaifyViewExtension\NaifyViewExtension;

$config = NaifyViewExtension::configure(__DIR__ . '/views')
    ->twig()
    ->setCacheDir(__DIR__ . '/cache/views')
    ->setAutoEscape(true);
$view = NaifyViewExtension::create($config);
echo $view->render('hello.twig', ['name' => 'Naify']);

プロパティ

名前型説明
private $filter ?TwigFilter 注入された、または初回利用時に生成する部品
private $converter ?TwigTemplateConverter 注入された、または初回利用時に生成する部品
private $templateIrProvider ?TwigTemplateIrProvider 注入された、または初回利用時に生成する部品

メソッド

メソッド説明
public __construct(?TwigFilter $filter, ?TwigTemplateConverter $converter, ?TwigTemplateIrProvider $templateIrProvider): 必要な部品を差し替えて拡張を用意する
省略した部品は、初めて使うときに既定の実装を生成する。
public extend(NaifyViewExtensionRegistry $registry): void 描画用のフィルターとIRプロバイダーを登録する
public getFilter(): TwigFilter この拡張で再利用するフィルターを取得する
public getConverter(): TwigTemplateConverter 手動変換に使う変換器を取得する
public getTemplateIrProvider(): TwigTemplateIrProvider 描画時にIRを供給するプロバイダーを取得する
public convert(string $twigSource): TwigTemplateConversionResult ソースをNative構文へ寄せ、変換結果と注意点を返す
返却値のisComplete()とgetUnsupported()を確認してから移行先で使う。
public convertToIr(string $twigSource): TwigTemplateConversionResult ソースをCoreの中間表現へ変換する