/** * @Route("/article/{id}/vote", name="blog_article_vote") * @ParamConverter("article", class="MmiBlogBundle:Article") * * L'annotation ParamConverter appelle des convertisseurs, pour convertir des paramètres de requêtes en objets. * Ces objets sont stockés comme attributs de requête de telle sorte qu'ils puissent être injectés comme arguments de méthodes de contrôleur. * Il n'est plus nécessaire de tester si l'objet existe pour retourner une erreur 404, ParamConverter s'occupe de tout. */ public function voteAction(Article $article) { //on incrémente le nombre de vote $article->incrementVote(); //l'objet est persister dans la base de données (les requêtes SQL associées sont exécutées) $this->getDoctrine()->getManager()->flush(); return $this->redirectToRoute('blog_article_show', array('id' => $article->getId())); }