-2

我创建了一个包后端/主/:

我的应用程序/routing.yml

backendmain:
    resource: "@backendmainBundle/Resources/config/routing.yml"
    prefix:   /main

我的后端/Bundle/mainBundle/config/routing.yml:

backendmain_homepage:
    pattern:  /hello/{name}
    defaults: { _controller: backendmainBundle:Default:index }

我的后端/Bundle/mainBundle/DefaultController.php:

namespace backend\Bundle\mainBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

    class DefaultController extends Controller
    {
        public function indexAction($name)
        {
            return $this->render('backendmainBundle:Default:index.html.twig', array('name' => $name));
        }

            public function testAction($name)
        {
            return $this->render('backendmainBundle:Default:test.html.twig', array());
        }
    }

如何在浏览器中调用动作测试?

抱歉,Fabien 在创建 Symfony2 时是否吸毒?Symfony 1.4 非常简单!

4

1 回答 1

2

测试操作的路由定义中没有任何匹配项。您添加的唯一路线是用于索引操作。所以你需要添加类似的东西,

backendmain_test:
    pattern:  /test
    defaults: { _controller: backendmainBundle:Default:test }

在您的backend/Bundle/mainBundle/config/routing.yml文件中,以便您可以调用您的测试操作。

更新: 使用注释

应用程序/配置/路由.yml

backendmain:
    resource: "@backendmainBundle/Controller/DefaultController.php"
    prefix:   /main
    type:     annotation

DefaultController.php

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
// ...

class DefaultController extends Controller
{
    /**
     * @Route("/test", name="backendmain_test")
     */
    public function testAction()
    {
        // ...
    }

    // ...
于 2012-11-21T23:41:35.077 回答