Utiliser des URLs
Une route permet de passer d'une URL à un nom de route (et donc une action associée). Le routage permet aussi de passer d'un nom de route à une URL, ce que nous utiliserons pour la navigation. Ainsi, changer le chemin dans les annotations mettra à jour toutes les références (contrairement à ce qui se passerait si on utilisait un chemin "en dur").
Contrôleur
<?php <?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\HttpFoundation\Response; class PlayerController extends Controller { /** * @Route("/player/{battletag}", name="player_show") */ public function show($battletag) { $url = $this->generateUrl('player_show', array('battletag' => $battletag)); // adresse relative // $this->generateUrl('player_show', array('battletag' => $battletag), UrlGeneratorInterface::ABSOLUTE_URL); adresse absolue return new Response("Adresse de la page page courante : ".$url); } }
Vue
<a href="{{ path('player_show', { 'battletag': battletag }) }}"> Lien vers le compte {{ battletag }}</a>