我正在尝试访问我在我的函数中设置的控制器中的变量。它实际上看起来像这样:
{{ render(controller('AppBundle:Domain:show', {
'test': 'ok'
})) }}
在我的控制器中它看起来像这样:
public function showAction(Request $request, $test = null)
{
$test = $test ? $test : 'notOk';
var_dump($test); // result "notOK"
die;
}
我的目标是让var_dump($test);
导致'ok'
答案 0 :(得分:1)
Twig中controller()
的第二个参数是一个请求属性数组。
https://github.com/symfony/twig-bridge/blob/master/Extension/HttpKernelExtension.php#L81
那样:
{{ render(controller('AppBundle:Domain:show', {
'test': 'ok'
})) }}
应该可用:
public function showAction(Request $request)
{
return new Response($request->attributes->get('test'));
}
答案 1 :(得分:0)
您必须从控制器返回响应,var_dump不会显示在渲染模板中:
public function showAction(Request $request, $test = null)
{
$test = $test ? $test : 'notOk';
return new Response($test);
}
除此之外,您的示例按预期为我工作