我在 Symfony2 中的路由有问题。
实际上我下载了最新版本并在我的服务器上运行它。该演示工作正常。
现在我想做以下事情:我想创建一个TestController,这个控制器应该有:
- 索引视图
- 像你好世界一样的景色
- 我可以传递2个参数的视图
所以我开始在src\Acme\DemoBundle\Controller
名为TestController
. 这是代码:
<?php
namespace Acme\DemoBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Acme\DemoBundle\Form\ContactType;
// these import the "@Route" and "@Template" annotations
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
class TestController extends Controller
{
public function indexAction()
{
return array();
}
public function hello2Action($name1, $name2)
{
return array();
}
public function helloAction()
{
return array();
}
}
src\Acme\DemoBundle\Resources\views\Test
然后我在一个名为的新文件夹中创建了 3 个视图hello.html.twig
,index.html.twig
并且hello2.html.twig
两个都有这样的内容
{% extends "AcmeDemoBundle::layout.html.twig" %}
{% block title "Symfony - Demos" %}
{% block content_header '' %}
{% block content %}
foo!!!
{% endblock %}
最后我编辑routing.dev.yml
并添加了这样的东西:
_name1:
resource: "@AcmeDemoBundle/Controller/TestController.php"
type: annotation
prefix: /test
_name2:
resource: "@AcmeDemoBundle/Controller/TestController.php"
type: annotation
prefix: /test/hello
_name3:
resource: "@AcmeDemoBundle/Controller/TestController.php"
type: annotation
prefix: /test/hello2/{name1}&{name2}
当我想运行测试控制器时,我得到:
找不到“GET /test/”的路由
怎么了?是否可以为两个控制器功能提供一个视图?(比如 hello() 和 hello($foo))?