What is the difference between 'url' and &

2019-03-09 21:45发布

The document said

{# src/Acme/ArticleBundle/Resources/views/Article/recentList.html.twig #}
{% for article in articles %}
    <a href="{{ path('article_show', {'slug': article.slug}) }}">
        {{ article.title }}
    </a>
{% endfor %}

also, can use 'url' like this:

<a href="{{ url('_welcome') }}">Home</a>

it confused me what is the difference between using 'url' and 'path'?

标签: symfony twig
2条回答
叼着烟拽天下
2楼-- · 2019-03-09 22:09

They are very similar.

path()

Generates a relative/absolute path :

path('contact') will generate /contact

url()

Generates a scheme-relative/absolute url, ie domain + path

url('contact') will generate http://example.org/contact

The url() style is useful when using cross-domain ajax or generating emails, because the hostname won't be the same.

Take a look at the code https://github.com/symfony/symfony/blob/master/src/Symfony/Bridge/Twig/Extension/RoutingExtension.php for more information

查看更多
一夜七次
3楼-- · 2019-03-09 22:11

url Twig function generates absolute path path Twig function generates / related url

Example we have http://sf2sandbox.local with AcmeDemoBundle

{{ path('_welcome') }} produce /
{{ url('_welcome') }} produce http://sf2sandbox.local/
查看更多
登录 后发表回答