Symfony:一条路线的两个动作

时间:2015-07-02 10:33:25

标签: php symfony

我有控制器,我有两个动作: createAction showAction

createAction 从表单类创建表单并将其呈现为 index.html.twig

showAction 进行数据库查询并获取一些数据并将其呈现为 index.html.twig (与之前的.twig文件相同)。

如何在一条路线中执行两项操作?我尝试在 routing.yml 中执行两个相同的路由但名称不同,但它不起作用。它只渲染第一个。

(对不起,英文不好)

1 个答案:

答案 0 :(得分:6)

只要响应不同的http谓词(POST / GET / PUT / etc),您就可以为两个单独的操作使用相同的URL。否则,您希望路由器决定选择哪个动作?

了解如何从路由文档的Adding HTTP Method Requirements部分定义http方法要求。

注释配置示例:

class GuestbookController
{
    /**
     * @Route("/guestbook")
     * @Method("POST")
     */
    public function createAction()
    {
    }

    /**
     * @Route("/guestbook")
     * @Method("GET")
     */
    public function showAction()
    {
    }
}