====== Routes ======
===== Annotations des méthodes d'un contrôleur =====
Route simple dont l'url sera **/article/12** :
/**
* @Route("/article/12", name="voir_article")
*/
public function show() {
return $this->render('articles/show.html.twig');
}
Route paramétrée :
/**
* @Route("/article/{id}", name="voir_article")
*/
public function show($id) {
$article = ... // recherche de l'article dans le repository
return $this->render('articles/show.html.twig', [
'article' => $article,
]);
}
===== Conversion de paramètres =====
Lorsqu'on a une route avec un paramètre **id** d'un article, plutôt que de passer cette valeur en paramètre à la fonction, on peut directement demander à Symfony de passer l'entité correspondant à cet identifiant :
use App\Entity\Article;
/**
* @Route("/article/{id}", name="voir_article")
*/
public function show(Article $article) {
return $this->render('articles/show.html.twig', [
'article' => $article,
]);
}