我在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');
}
}
我的routing.yml文件
#src/IDP/IDPBundle/resources/config/routing.yml
IDPIDPBundle_portfolio:
pattern: /portfolio
defaults: { _controller: IDPIDPBundle:Portfolio:index }
requirements:
_method: GET
我在应用中的路由文件
#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
当我在浏览器中尝试这个网址时,symfony欢迎页面会出现
http://project.dev/app_dev.php/
但是当我尝试
时http://project.dev/app_dev.php/portfolio
它没有找到路由发现错误
我在这里做错了什么?
请问任何想法?
答案 0 :(得分:1)
确保您所做的更改不仅在eclipse的工作空间中受到项目根目录的影响。将您的eclipse工作空间更改为项目根目录,然后
IDPIDPBundle:
resource: "@IDPIDPBundle/Resources/config/routing.yml"
prefix: /
IDPIDPBundle_portfolio:
pattern: /portfolio
defaults: { _controller: IDPIDPBundle:Portfolio:index }
requirements:
_method: GET
希望它会有所帮助
答案 1 :(得分:0)
我认为你的代码路由是正确的。但输入的网址不正确。您没有指向web
的{{1}}文件夹。可能这是你的问题。
而不是此网址http://project.dev/app_dev.php/portfolio尝试以下网址
app_dev.php
希望 http://project.dev/web/app_dev.php/portfolio
是您的项目文件夹。
第二件事我注意到你必须真正关心routing.yml文件的缩进。
project.dev
希望这有帮助。