将silex和twig一起使用时,将变量暴露给所有树枝模板

时间:2015-07-07 23:25:15

标签: php twig silex

我使用独立的silex和twig(所以没有Symfony)。我有一个对象需要为所有的silex路由创建,并且需要暴露给所有的twig模板。我怎么能这样做?

作为一个例子:在下面的例子中,我宁愿不必在Silex路由的use子句中包含$ myObject,而且我也不必将它包含在{的render子句中。踢开树枝时{1}}起作用。由于在所有路径和所有模板中都需要它们,因此它会使代码混乱。

$myObject = new MyObject();
$app->get('/test', function () use ($app, $myObject) {     
    return $app['twig']->render(
      'someTemplate.twig',
      array('myObject' => $myObject)
    );    
});

1 个答案:

答案 0 :(得分:2)

您可以将它添加到您的全局:

$app["twig"]->addGlobal("mObject", $myObject);