私の知る限り、あなたのtwigテンプレートからPHPクラスを直接呼び出すことはできません。 できることは、クラス と通信し、必要な値を返すTwigフィルタを設定することです。
あなたの小枝テンプレートをロードする責任があるPHPのコントローラファイルでこれを持っているでしょう:それはだから
{{ ''|twg_get_template_name }}
:あなたはこのようにフィルタを呼ぶだろう、あなたの小枝テンプレートで
<?php
function twg_get_template_name() {
# edit this according to the implementation of your class:
return Helpers::get_template_name();
}
function add_to_twig($twig) {
/* this is where you can add your own fuctions to twig */
$twig->addExtension(new Twig_Extension_StringLoader());
$twig->addFilter('twg_get_template_name', new Twig_Filter_Function('twg_get_template_name'));
return $twig;
}
add_filter('get_twig', 'add_to_twig');
フィルタ関数は値が "フィルタする"と期待しているので、少なくとも空の文字列を渡します。
私がこのような状況にあったのなら、あなたの コントローラでテンプレートの名前を決定して、フィルタ機能を使ってPHPクラス を呼び出すのではなく、Twigテンプレートに直接値を送信します。