1

我有一个 Symfony 1.4 应用程序,我继承了它来维护和更新。我无法理解/弄清楚的一件事是如何为加载和帖子使用相同的模板/动作名称。

来自 Struts2 背景,我可以为这两种方法重用相同的操作,但有一个指向“输入”方法的 get 点,而 post 将指向一个“执行”方法。但我似乎在 Symfony 中找不到类似的工作流程。

假设 get 和 post 都使用相同的模板,并且我想使用相同的操作名称,我如何为每种类型指定不同的方法名称?

例如,对于登录表单,我想创建一个登录操作,使用基本上显示模板的“输入”方法,提交后,它将转到执行方法以在重定向或重新显示表单之前验证数据与错误。

我意识到我可以在我的执行方法顶部放置一个 if ($request->isMethod('POST')) ,但我认为必须有一个更好/更传统的方法来做到这一点。我认为 symfony 中一定有一些东西可以做到这一点,但我只是没能找到它。

谁能指出我正确的方向?

4

1 回答 1

1

您正在寻找的是路由。你可以在 Symfony 中路由 HTTP 请求方法。

这是文档:http ://symfony.com/legacy/doc/reference/1_4/en/10-Routing

您想要做的一个示例的结构如下:

login_input:
    url:  /login
    class: sfRequestRoute
    param: { module: login, action: input }
    requirements: { sf_method: get }

login_execute:
    url:  /login
    class: sfRequestRoute
    param: { module: login, action: execute }
    requirements: { sf_method: post }
于 2012-12-03T04:00:40.720 回答