Maison  >  Article  >  développement back-end  >  Comment puis-je obtenir l’itinéraire actuel dans Symfony 2 ?

Comment puis-je obtenir l’itinéraire actuel dans Symfony 2 ?

DDD
DDDoriginal
2024-10-25 08:48:28196parcourir

How do I Get the Current Route in Symfony 2?

Détermination de la route actuelle dans Symfony 2

Dans Symfony 2, obtenir la route active est une tâche courante, en particulier lors du développement d'applications Web. Ces informations sur l'itinéraire fournissent un contexte permettant de comprendre l'état actuel de l'application.

Récupération du nom de l'itinéraire

Pour récupérer l'itinéraire actuel, suivez ces étapes :

  1. Assurez-vous que votre contrôleur ou service implémente l'interface ContainerAware.
  2. Obtenez l'objet Request du conteneur :
<code class="php">$request = $this->container->get('request');</code>
  1. Extrayez le nom de la route à l'aide du Paramètre _route de la requête :
<code class="php">$routeName = $request->get('_route');</code>

Cela renverra le nom de la route actuellement active, tel que "somePage" dans l'exemple fourni.

Exemple :

Considérez la configuration de routage suivante dans router.yml :

<code class="yaml">somePage:
    pattern: /page/
    defaults: { _controller: "AcmeBundle:Test:index" }</code>

Pour récupérer le nom de la route "somePage" dans un contrôleur, vous utiliserez le code suivant :

<code class="php">use Symfony\Component\HttpFoundation\Request;

class TestController extends Controller
{
    public function indexAction(Request $request)
    {
        // Get the current route name
        $routeName = $request->get('_route');
    }
}</code>

Cela vous permet d'accéder au nom de l'itinéraire actuel dans la logique de votre application, permettant un développement plus flexible et plus contextuel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn