簡體   English   中英

在類上的Symfony2路由注釋不起作用

[英]Symfony2 Route annotation on class not working

所以基本上我有一個要在其中綁定的控制器和一個路由前綴,因此我在類上使用@Route批注,我已經完成了Symfony2應用程序的所有其他控制器。 但是,這個沒有考慮前綴,因此只能訪問/ list上的頁面,而不是訪問/ admin / users / list上的頁面。

這是控制器:

<?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

謝謝你的幫助

必須將注釋添加到docblock中 ,而不僅僅是簡單的注釋。

您需要使用/**而不是/*來開始評論(注意請注意* ):

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

這將為您的AdminController的所有路由添加/admin前綴。

您的以下代碼

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

應該是

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

並確保兩個控制器不應具有相同的前綴。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM