Comment puis-je obtenir l’itinéraire en cours dans Symfony 2 ?
Par exemple, `` :
Comment puis-je obtenir ce `` valeur ?
Comment puis-je obtenir l’itinéraire en cours dans Symfony 2 ?
Par exemple, `` :
Comment puis-je obtenir ce `` valeur ?
Symfony 2.0-2.1
Utilisez ceci:
$router = $this->get("router");
$route = $router->match($this->getRequest()->getPathInfo());
var_dump($route['_route']);
Que l'on va pas vous donner des _internal
.
Mise à jour pour Symfony 2.2+: Ce n'est pas de travail de départ Symfony 2.2+. J'ai ouvert un bug et la réponse est "by design". Si vous souhaitez obtenir l'itinéraire dans un sous-action, vous devez passer comme un argument
{{ render(controller('YourBundle:Menu:menu', { '_locale': app.request.locale, 'route': app.request.attributes.get('_route') } )) }}
Et votre contrôleur:
public function menuAction($route) { ... }
Il n’y a pas de solution que fonctionne pour tous les cas d’utilisation. Si vous utilisez le $request -> méthode de get('_route'), ou ses variantes, elle retournera « _internal » pour les cas où le transfert a eu lieu.
Si vous avez besoin d’une solution qui fonctionne même avec redirection, vous devez utiliser le nouveau service RequestStack, qui est arrivé à 2.4, mais que cela briserait ESI:
Vous pouvez faire une extension de brindille de cela si vous en avez besoin dans les modèles.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.