Php Symfony2:如何获取路由前缀

Php Symfony2:如何获取路由前缀,php,symfony,router,Php,Symfony,Router,我想做的是,我有一个管理面板,我可以访问与'管理员'前缀,但它是可访问的,只有当你走向配置页面第一 为此,我创建了一个侦听器事件,如下所示: <?php namespace Config\ConfigBundle\Listener; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony

我想做的是,我有一个管理面板,我可以访问与'管理员'前缀,但它是可访问的,只有当你走向配置页面第一

为此,我创建了一个侦听器事件,如下所示:

<?php

namespace Config\ConfigBundle\Listener;

use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;

class ConfigListener {

public function __construct(ContainerInterface $container){

    $this->router = $container->get('router');
    $this->em = $container->get('doctrine')->getEntityManager();;

}

public function onKernelRequest(GetResponseEvent $event)
{
    $route = $event->getRequest()->attributes->get('_route');
    if ( $route == 'admin') {

        $config = $this->em->getRepository('ConfigBundle:Config')->findConfig();
        if($config == null){
            $event->setResponse(new RedirectResponse($this->router->generate('adminConfig')));
        }   
    } 
}

}

您可以使用以下代码段检查路由是否包含“admin”前缀:

if (0 == strpos($route, 'admin')) {
    // perform redirect
}

谢谢,我添加==>&&$route!='adminConfig'以避免循环,但现在,我得到的ressouces作为css和东西没有加载…我得到的302错误。。。