【发布时间】:2014-03-31 08:04:47
【问题描述】:
我想在用户会话到期时创建重定向。我知道该怎么做:
$app->before(function (Request $request) {
if (!$request->getSession()->get('displayName')) {
return new RedirectResponse('login', 301);
}
});
问题是我得到了错误:Fatal error: Class 'RedirectResponse' not found in /Applications/MAMP/htdocs/pst/app/bootstrap.php on line 120
我也尝试在 if 语句中添加这个:
$app->get('/', function () use ($app) {
return $app->redirect('/hello');
});
但未定义 app 变量。这样做的正确方法是什么?
更新:
我从 Symfony2 添加了 RedirectResponse 函数。但 displayName 不正确。我被会话甩了,有人可以看看它应该是什么吗?
转储:http://pastebin.com/7XQbJJ08
在我的 layout.twig(一般布局)中,我有 <span>&nbsp;&nbsp;{{ app.user.displayName }}</span>,过了一会儿没有反应,他说他在 null 属性上找不到属性 displayName。
【问题讨论】:
-
你能展示你完整的
bootstrap.php内容吗? -
您是否忘记了文件顶部的
use Symfony\Component\HttpFoundation\RedirectResponse?... -
我不确定 displayName 是什么意思不正确。它不在会话对象的转储中。你确定这已经在会话中设置了吗?
-
我已经更新了我的开始帖子。
标签: php session symfony redirect silex