2014-09-09 2 views
1

기본적으로 나는 경로 접두사를 원하는 번들 컨트롤러를 가지고 있으므로 클래스의 @Route 주석을 사용합니다.이 모든 다른 컨트롤러를 수행했습니다. 내 Symfony2 앱. 그러나이 하나는/admin/users/list의 페이지에 액세스 할 수있는 대신 접두사를 고려하지 않고/list에만 액세스합니다. 여기 symfony2 클래스의 경로 주석이 작동하지 않습니다.

는 컨트롤러 :

<?php 

namespace LanPartyOrg\UserBundle\Controller; 

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; 
use JMS\SecurityExtraBundle\Annotation\PreAuthorize; 

/* 
* @Route("/admin") 
* 
*/ 
class AdminController extends Controller 
{ 
    /** 
    * @Route("/list", name="users_list") 
    * @Template("LanPartyOrgUserBundle:Admin:List.html.twig") 
    */ 
    public function listAction(){ 
     $em = $this->getDoctrine()->getManager(); 
     $users = $em->getRepository('LanPartyOrgUserBundle:User')->findAll(); 

     return array('users'=>$users); 
    } 
} 

그리고 여기 내 routing.yml입니다 : 어떤 도움

lan_party_org_user: 
    resource: "@LanPartyOrgUserBundle/Controller/" 
    type:  annotation 
    prefix: /

fos_user_security: 
    resource: "@FOSUserBundle/Resources/config/routing/security.xml" 

fos_user_profile: 
    resource: "@FOSUserBundle/Resources/config/routing/profile.xml" 
    prefix: /profile 

fos_user_register: 
    resource: "@FOSUserBundle/Resources/config/routing/registration.xml" 
    prefix: /register 

fos_user_resetting: 
    resource: "@FOSUserBundle/Resources/config/routing/resetting.xml" 
    prefix: /resetting 

fos_user_change_password: 
    resource: "@FOSUserBundle/Resources/config/routing/change_password.xml" 
    prefix: /profile 

감사

답변

3

주석이 docblocks에 추가해야합니다 , 단지 간단하지 댓글 .

당신은 /** 대신 /* (통지 이중 *)와 함께 귀하의 코멘트를 시작해야합니다 : 이것은 /admin와 모든 AdminController의 경로를 접두사 것입니다

/** 
* @Route("/admin") 
*/ 
class AdminController extends Controller 
{ 
    // ... 
} 

.

2

당신의 다음 코드

  /* 
      * @Route("/admin") 
      * 
      */ 

  /** 
      * @Route("/admin") 
      * 
      */ 

으로하는 두 개의 컨트롤러가 동일한 접두사가없는 것을 확인해야한다.

+0

고마워요. 매력처럼 :) :) :) – bigyanshr

관련 문제