Annotation et paramètres par défaut pour les routes sf2

Si l’on souhaite passer la page courante dans une route sf2, en utilisant les annotations, pour obtenir à une structure comme ceci  :

/news/ (page = 1)
/news/2 (page = 2)

On peut utiliser l’option defaults de @Route en affectant 2 routes à son contrôleur :

    /**
     *
     * @Route("/news",  name="news_list", defaults={"page" = 1})
     * @Route("/news/{page}", name="news_list_page", requirements={"page" = "\d+"})
     * @Template()
     */
    public function indexAction($page)
    {
       return array()
    }

3 réflexions au sujet de « Annotation et paramètres par défaut pour les routes sf2 »

  1. On peut raccourcir le tout en mettant:

    /**
    *
    * @Route(« /news/{page} », name= »news_list », defaults={« page » = 1}, , requirements={« page » = « \d+ »})
    * @Template()
    */
    public function indexAction($page)
    {
    return array()
    }

    Du coup ça évite de définir deux routes différentes, et on garde le même comportement.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>