Symfony2的路由与注解 [英] Symfony2 routing with annotations

查看:1063
本文介绍了Symfony2的路由与注解的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图定义使用注解Symfony2的在我的路线。我的软件包名称为PatentBundle。但我得到的误差

 未找到路径GET /组合/

我的应用程序/配置/ routing.yml中

  MunichInnovationGroupPatentBundle:
资源:@ MunichInnovationGroupPatentBundle /控制器/
类型:注释
preFIX:/
默认值:{_controller:MunichInnovationGroupPatentBundle:默认:指数}

我的投资组合控制器看起来像

 < PHP
 命名空间MunichInnovationGroup \\ PatentBundle \\控制器; 使用MunichInnovationGroup \\ PatentBundle \\实体\\登录; 使用MunichInnovationGroup \\ PatentBundle \\实体\\ UserPatent;
 使用的Symfony \\分量\\ HttpFoundation \\响应;
 使用的Symfony \\分量\\ HttpFoundation \\请求;
 使用JMS \\ SecurityExtraBundle \\注解\\安全;
 使用的Symfony \\分量\\安全\\核心\\异常\\ AccessDeniedException异常;
 使用的Symfony \\包\\ FrameworkBundle \\控制器\\控制器;
 使用SENSIO \\包\\ FrameworkExtraBundle \\配置\\方法;
 使用SENSIO \\包\\ FrameworkExtraBundle \\配置\\路线;
 使用SENSIO \\包\\ FrameworkExtraBundle \\配置\\模板;
 使用MunichInnovationGroup \\ PatentBundle \\实体\\ SvPatents;
 使用MunichInnovationGroup \\ PatentBundle \\实体\\ PmPortfolios;
 使用MunichInnovationGroup \\ PatentBundle \\实体\\ UmUsers;
 使用MunichInnovationGroup \\ PatentBundle \\表格\\ PatentType;
 使用MunichInnovationGroup \\ PatentBundle \\实体\\ PmPatentgroups;
 使用的Symfony \\分量\\安全\\核心\\ SecurityContext的;
 使用MunichInnovationGroup \\ PatentBundle \\的Util \\ SecurityHelper;
 使用异常;/ **
 *组合控制器。
 * @Route(/组合)
* /
类PortfolioController扩展控制器{/ **
 * Index操作。
 *
 * @Route(/,名字=组合)
 * @method({GET,POST})
 * @Template(MunichInnovationGroupBundle:投资组合:show.html.twig)
 * /
公共职能的indexAction($申请要求){
      //方法code到这里
    }


解决方案

 #应用程序/配置/ routing.yml中MunichInnovationGroupPatentBundle:    资源:@ MunichInnovationGroupPatentBundle /控制器/ DefaultController.php
    类型:注释
    preFIX:/

控制器应该有:

 使用SENSIO \\包\\ FrameworkExtraBundle \\配置\\路线;
使用SENSIO \\包\\ FrameworkExtraBundle \\配置\\方法;
使用SENSIO \\包\\ FrameworkExtraBundle \\配置\\模板;

I am trying to define my routes using annotations in symfony2. My Bundle name is PatentBundle. But I am getting an error of

No route found for "GET /portfolio/

My app/config/routing.yml

MunichInnovationGroupPatentBundle:
resource: "@MunichInnovationGroupPatentBundle/Controller/"
type:     annotation
prefix:   /
defaults:  { _controller: "MunichInnovationGroupPatentBundle:Default:index" }

My portfolio controller looks like

<?php
 namespace MunichInnovationGroup\PatentBundle\Controller;

 use MunichInnovationGroup\PatentBundle\Entity\Log;

 use MunichInnovationGroup\PatentBundle\Entity\UserPatent;
 use Symfony\Component\HttpFoundation\Response;
 use Symfony\Component\HttpFoundation\Request;
 use JMS\SecurityExtraBundle\Annotation\Secure;
 use Symfony\Component\Security\Core\Exception\AccessDeniedException;
 use Symfony\Bundle\FrameworkBundle\Controller\Controller;
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
 use MunichInnovationGroup\PatentBundle\Entity\SvPatents;
 use MunichInnovationGroup\PatentBundle\Entity\PmPortfolios;
 use MunichInnovationGroup\PatentBundle\Entity\UmUsers;
 use MunichInnovationGroup\PatentBundle\Form\PatentType;
 use MunichInnovationGroup\PatentBundle\Entity\PmPatentgroups;
 use Symfony\Component\Security\Core\SecurityContext;
 use MunichInnovationGroup\PatentBundle\Util\SecurityHelper;
 use Exception;

/**
 * Portfolio controller.
 * @Route("/portfolio")
*/
class PortfolioController extends Controller {

/**
 * Index action.
 *
 * @Route("/", name="portfolio")
 * @Method({"GET", "POST"})
 * @Template("MunichInnovationGroupBundle:Portfolio:show.html.twig")
 */
public function indexAction(Request $request) {
      // method code goes here
    }

解决方案

# app/config/routing.yml

MunichInnovationGroupPatentBundle:

    resource: "@MunichInnovationGroupPatentBundle/Controller/DefaultController.php"
    type:     annotation
    prefix:   /

The controller should have:

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;

这篇关于Symfony2的路由与注解的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆