web-dev-qa-db-fra.com

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

peut également utiliser 'url' comme ceci:

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

cela m'a dérouté quelle est la différence entre utiliser "url" et "chemin"?

30
RedWood

Ils sont très similaires.

chemin()

Génère un chemin relatif/absolu :

path('contact') générera /contact

url ()

Génère une url relative au schéma/relative , c'est-à-dire domaine + chemin

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

Le style url () est utile lorsque vous utilisez ajax entre domaines ou lorsque vous générez des e-mails , car le nom d'hôte ne sera pas le même.

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

56
paxal

url Twig génère le chemin absolu chemin Twig génère/l'URL associée)

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

{{ path('_welcome') }} produce /
{{ url('_welcome') }} produce http://sf2sandbox.local/
5
ishenkoyv