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>