services - Routage basé sur la convention dans Symfony2



symfony tag normalizer (1)

En aucune façon. Cela a été considéré comme une mauvaise pratique et donc il a été retiré de symfony.

Mais vous devriez jeter un coup d'œil à l'annotation @Route , car cela simplifie la configuration des routes d'une manière aussi agréable. Directement attaché à l'action, il ne manque pas de config et de code.

https://src-bin.com

J'essaie d'apprendre comment fonctionne le routage dans Symfony2, et jusqu'ici tout ce que j'ai lu a des exemples comme ceci:

blog:
    path:      /blog/{page}
    defaults:  { _controller: AcmeBlogBundle:Blog:index, page: 1 }

Cela achemine les requêtes vers / blog / 123 vers l'action "index" du contrôleur de blog AcmeBlogBundle et transmet le paramètre 123 en tant que paramètre "page" à cette action du contrôleur. Si aucun paramètre de page n'est passé, la valeur par défaut est 1.

C'est très bien, mais que se passe-t-il si vous voulez simplement avoir un système de routage basé sur une convention qui passe les choses comme ça:

/{bundle}/{controller}/{action}

Donc, pour une URL comme celle-ci:

/acme/blog/index

Il appellerait alors l'action "index" du contrôleur AcmeBlogBundle Blog.

Aucune configuration de routage spécifique n'est nécessaire, elle infère simplement l'ensemble, le contrôleur et l'action de l'URL. Vous pouvez donc continuer à ajouter des ensembles, des contrôleurs et des actions et vous n'avez pas besoin de modifier la configuration du routage. Cela fonctionne juste.

Si ce n'est pas possible, pouvez-vous au moins déduire le contrôleur et l'action de l'URL? Par exemple, vous avez peut-être besoin d'un itinéraire qui identifie spécifiquement l'ensemble, mais pouvons-nous obtenir le contrôleur et l'action à partir de l'URL?

J'ai lu la page "Le Livre" de Symfony sur le routage , et je n'ai pas trouvé de moyen de le faire.





symfony-2.2