Quelle est la différence entre ' url ' et 'path' dans symfony2. 3

Le document dit

{# 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 %}

Aussi, peut utiliser ' url ' comme ceci:

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

Il m'a confus Quelle est la différence entre l'utilisation de 'url' et 'path'?

29
demandé sur caramba 2013-12-05 10:59:46

2 réponses

Ils sont très similaires.

Chemin ()

Génère un chemin relatif/absolu :

path('contact') va générer /contact

Url ()

Génère un schéma relatif / absolu url , c'est-à-dire domaine + chemin

url('contact') va générer http://example.org/contact

Le style url () est utile lorsque vous utilisez Ajax cross-domain ou que vous générez des emails , car le nom d'hôte ne sera pas le même.

Jetez un oeil au code https://github.com/symfony/symfony/blob/master/src/Symfony/Bridge/Twig/Extension/RoutingExtension.php pour plus d'informations

53
répondu paxal 2013-12-05 13:33:27

La fonction URL Twig génère un chemin absolu la fonction Path Twig génère / URL associée

Exemple, nous avons http://sf2sandbox.local avec AcmeDemoBundle

{{ path('_welcome') }} produce /
{{ url('_welcome') }} produce http://sf2sandbox.local/
5
répondu ishenkoyv 2013-12-05 07:23:43