Symfony2 - 渲染还是重定向?

Max*_*sky 0 php symfony

什么是更好的?成功提交表单后返回重定向或进行渲染?

重定向:

public function newAction(Request $request)
{
    // ...

    if ($form->isValid()) {

        return $this->redirect(/* ... */);
    }

    return $this->render(/* ... */);
}
Run Code Online (Sandbox Code Playgroud)

第二:

public function newAction(Request $request)
{
    // ...

    if ($form->isValid()) {

        return $this->render(/* ... */);
    }

    return $this->render(/* ... */);
}
Run Code Online (Sandbox Code Playgroud)

Vic*_*sky 6

如果表单是通过POST方法发送的- 最好的方法是将用户重定向到某个页面(例如,重定向到实体列表).它可以防止用户再次重新提交表单.

更好地使用redirectToRoute()Symfony的方法>=2.6

但是如果你使用GET方法 - 你肯定想使用render()方法(例如,为了显示一些过滤实体或基于你的GET查询的数据).