获取symfony3

时间:2017-02-19 12:12:03

标签: symfony

在我的base.html.twig中,我渲染了一个组件:

{% block header %}
    {{ render(controller("AppBundle:Application\\Header:header")) }}
{% endblock %}

有没有办法获得当前的路线动作/控制器?即浏览器中的当前网址?

当我做var_dump($ request-> get('_ route')); die;它导致null

2 个答案:

答案 0 :(得分:5)

如果你想获得实际的路线,你可以在你的控制器中获得这样的主要请求:

$this->container->get('request_stack')->getMasterRequest()->get('_route');

答案 1 :(得分:0)

由于我无法通过评论回答,我必须将此作为答案。

如上所述,此问题可能与以下内容重复: Get current URL in Twig template

要同时获取当前路线的名称和当前网址,您只需在枝条模板中呈现它们:

<p><strong>current route name</strong> :{{app.request.attributes.get('_route')}}</p>
<p><strong>current url: </strong> {{ app.request.schemeAndHttpHost ~ app.request.requestUri }}</p>