我在项目中使用HttpFoundation component而不使用完整的Symfony2框架。如果某些凭据为真,我会尝试生成RedirectResponse并重定向用户(like stated in the documentation),但return
语句无效。
我有:
use Symfony\Component\HttpFoundation\RedirectResponse;
$logged = 1;
if ($logged == 1) {
$response = new RedirectResponse('http://google.com/');
return $response;
} else {
die("not logged");
}
执行此操作时没有任何反应。但如果我这样做,我就会成功地重定向到Google:
if ($logged == 1) {
$response = new RedirectResponse('http://google.com/');
echo $response;
}
为什么这适用于echo
但不适用于return
?我不想在我的类库中使用echo
。
任何解决方案?
答案 0 :(得分:6)
尝试:$response->send();
代替echo $response;
。