symfony重定向函数

Gih*_*lva 2 php redirect this symfony

在我的项目中,我使用框架作为Symfony2.我想写一个php函数,如果条件失败,它会重定向到默认页面.所以我的功能是这样的.

public function validate($value){
    if($value==null){
        return  $this->redirect(
             $this->generateUrl('home_page', array("message"=>""))
        ); 
    }   
}
Run Code Online (Sandbox Code Playgroud)

我把这个函数称为这样.

$this->validate($value);
Run Code Online (Sandbox Code Playgroud)

问题是重定向不会发生.
拜托,伙计们,帮助我.我不知道它为什么不重定向.谢谢

Jak*_*las 8

你必须这样称呼它:

$response = $this->validate($value);

if ($response instanceof \Symfony\Component\HttpFoundation\Response) {
    return $response;
}
Run Code Online (Sandbox Code Playgroud)

您可以抛出自定义重定向异常并编写一个可以创建重定向响应的侦听器,而不是返回响应.