Php 未找到“的路由”;获取/投资组合

Php 未找到“的路由”;获取/投资组合,php,symfony,Php,Symfony,我在symfony2中创建了一个非常基本的静态页面,但是没有发现路由错误,我已经为我的页面定义了路由 我的控制器 #src/IDP/IDPBundle/Controller/PortfolioController.php <?php namespace IDP\IDPBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; class PortfolioController exte

我在symfony2中创建了一个非常基本的静态页面,但是没有发现路由错误,我已经为我的页面定义了路由

我的控制器

#src/IDP/IDPBundle/Controller/PortfolioController.php
<?php
  namespace IDP\IDPBundle\Controller;
  use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  class PortfolioController extends Controller
  {
   public function indexAction()
   {
    return $this->render('IDPIDPBundle:Portfolio:index.twig');
   }
  }
应用程序中的我的路由文件

#app/config/routing.yml
IDPIDPBundle:
resource: "@IDPIDPBundle/Resources/config/routing.yml"
prefix:   /

# Internal routing configuration to handle ESI
#_internal:
#   resource: "@FrameworkBundle/Resources/config/routing/internal.xml"
#   prefix:   /_internal
当我在浏览器中尝试此url时,symfony欢迎页面就会出现

 http://project.dev/app_dev.php/
但是当我尝试的时候

http://project.dev/app_dev.php/portfolio
它没有给出路由发现错误

我做错了什么


有什么想法吗?

我认为你的代码和路线是正确的。但输入的url不正确。您没有指向
web
文件夹中的
app\u dev.php
。也许这是你的问题

请尝试下面的url,而不是此url

 http://project.dev/web/app_dev.php/portfolio
hope
project.dev
是您的项目文件夹

我注意到的第二件事是,您必须真正关心routing.yml文件的缩进

IDPIDPBundle:
  resource: "@IDPIDPBundle/Resources/config/routing.yml"
  prefix:   /

IDPIDPBundle_portfolio:
  pattern:  /portfolio
  defaults: { _controller: IDPIDPBundle:Portfolio:index }
  requirements:
     _method:  GET

希望这有帮助。

我认为您的代码和路由是正确的。但输入的url不正确。您没有指向
web
文件夹中的
app\u dev.php
。也许这是你的问题

请尝试下面的url,而不是此url

 http://project.dev/web/app_dev.php/portfolio
hope
project.dev
是您的项目文件夹

我注意到的第二件事是,您必须真正关心routing.yml文件的缩进

IDPIDPBundle:
  resource: "@IDPIDPBundle/Resources/config/routing.yml"
  prefix:   /

IDPIDPBundle_portfolio:
  pattern:  /portfolio
  defaults: { _controller: IDPIDPBundle:Portfolio:index }
  requirements:
     _method:  GET

希望这有帮助。

确保您所做的更改不仅在eclipse的工作空间中,而且在项目的根目录中受到影响。将eclipse工作空间更改为项目根目录,然后

IDPIDPBundle:
 resource: "@IDPIDPBundle/Resources/config/routing.yml"
 prefix:   /

IDPIDPBundle_portfolio:
 pattern:  /portfolio
 defaults: { _controller: IDPIDPBundle:Portfolio:index }
 requirements:
 _method:  GET

希望这将有助于确保您所做的更改不仅在eclipse的工作空间中,而且在项目的根目录中受到影响。将eclipse工作空间更改为项目根目录,然后

IDPIDPBundle:
 resource: "@IDPIDPBundle/Resources/config/routing.yml"
 prefix:   /

IDPIDPBundle_portfolio:
 pattern:  /portfolio
 defaults: { _controller: IDPIDPBundle:Portfolio:index }
 requirements:
 _method:  GET

希望对您有所帮助

您运行路由调试器了吗?运行
php应用程序/控制台路由器:debug--env=dev
,您会得到什么?我将您的代码复制到一个新的symfony2项目中,它可以工作,唯一的区别是两个
routing.yaml
文件的yaml配置格式。意图正确吗?感谢您的回复,这只是因为Eclipse IDE,更改只发生在IDE的工作区中,而不是我的项目根目录中。我开始使用Netbeans我最喜欢的IDE:)修复缩进。Yaml对这件事很敏感。海。。。。您是否将细枝的名称设置为index.twig或index.html.twig???/是否运行路由调试器?运行
php应用程序/控制台路由器:debug--env=dev
,您会得到什么?我将您的代码复制到一个新的symfony2项目中,它可以工作,唯一的区别是两个
routing.yaml
文件的yaml配置格式。意图正确吗?感谢您的回复,这只是因为Eclipse IDE,更改只发生在IDE的工作区中,而不是我的项目根目录中。我开始使用Netbeans我最喜欢的IDE:)修复缩进。Yaml对这件事很敏感。海。。。。您是否将细枝的名称设置为index.twig或index.html.twig/