我需要在路由中将主控制器的值传递给 ESI 使用的控制器。
所以控制器渲染了一个 Twig 模板,在 Twig 中这被称为:
{{ render_esi(url('route_name')) }}
上面呈现了一个控制器。我需要在这两个控制器之间传递信息。
我注意到使用 $request->attributes 不起作用,即使它不是 ESI:
//these WON'T pass between master request and ESI
$request->attributes->set('the_value');
$request->attributes->get('the_value');
会话并不理想,因为我需要确保它们在某些情况下被清除。
我真的只是想要同样的请求传递一些信息一次。我希望 $request->attributes 将被共享给我,这是一个请求(尽管我相信 Symfony 将其称为具有各种子请求的主请求,我猜 $request->attributes 被锁定在该范围内) .
在 ESI 调用中将其作为查询参数传递也不好,因为它有时可能是需要传递的信息数组。
有任何想法吗?