Bonjour à tous,
Je rencontre un petit problème sur une application développée en PHP, qui utilise certains composants de symfony & doctrine (routing, annotations...).
Sur mon Controller qui contient différentes actions, j'ai un conflit entre 2 routes qui à mon sens n'a pas lieu d'être...
Voici différents exemple selon la route que j'appelle...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 /** * @Route("/composition/{composition_id}/{dupliquer}", name="composition") */ public function index(int $composition_id) { // Do something } /** * @return bool * * @Route("/composition/uploadMedia", name="uploadMedia") */ public function uploadMedia() { // Do something }
http://www.exemple.com/composition/5
=> OK : la méthode index est appelée et l'id est bien récupéré
http://www.exemple.com/composition/uploadMedia
=> ERREUR : c'est toujours la méthode index qui est appelée (au lieu de uploadMedia), et une erreur de type est générée
Pourtant sur une application symfony classique, je ne rencontre (presque) jamais ce genre de problèmes et le système de routing me renvoie vers la bonne méthode... y-a-t-il un paramétrage supplémentaire à effectuer ?Argument 2 passed to CompositionsController::composition() must be of the type int, string given
Bien sur je pourrais allonger volontairement la route du style /composition/truc/machin/uploadMedia pour esquiver le problème mais je trouve ça bof comme solution
Si quelqu'un a une suggestion je suis preneur![]()
Partager