我使用独立的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)
);
});
答案 0 :(得分:2)
您可以将它添加到您的全局:
$app["twig"]->addGlobal("mObject", $myObject);