Twig 用于输出数据。如果您需要在将数据发送到 twig 之前“转换”数据,或者您需要扩展 twig
理想情况下,您发送给 twig 的所有数据只是变量和数组,它们本身需要最少的操作。
当您实际上在“twig”中时,可以假定数据处理已“完成”,并且只需要以最少的逻辑将其输出到适当的位置即可决定用户界面样式。
因此,在将数据发送到 twig 之前,请重新审视您的逻辑并更好地准备数据。
一个扩展工具包类的示例,该类包含我们的魔法方法来做真正的魔法。
class CustomToolkit
{
public function magic_a($a)
{
return strtolower($a); }
public function magic_b($b)
{
return camel_case($b);
}
public function magic_tidle($a, $b)
{
return $this->magic_a($a) ~ $this->magic_b($b);
}
}
然后你把它添加到你的树枝实例中。我在这里添加了一个完整的实例化循环。如果您有服务提供商,您可以从那里获取实例并将其添加到该实例中。
$twig = new Twig_Environment(new Twig_Loader_Array([
'html' => $contents
]),[
'auto_reload' => true,
'debug' => false,
]);
$twig->addExtension('toolkit', new CustomToolkit ());
echo $twig->render('html', $values);
然后在你的树枝代码中,你应该能够按照以下方式做一些事情
{% set x = toolkit.magic_tidle("value","value_b") %}