2015-10-18 70 views
0

在我登录我已经创建的会话,Session::put('lid','somevalue')Session::put('ltype','somevalue')和我的默认刀片我不喜欢的东西问题4.2会话

@if(Session->has('ltype') 
<div>Hello</div> 
@else 
//redirect to login page 

在我的应用程序/配置session.php文件我已经改变了超时到5意思是5分钟。我计时,但它已经8分钟,当我刷新我的网页,它仍然显示Hello它应该被重定向到登录已经因为会话已经过期。难道我做错了什么?

回答

1

您可以使用下面的代码:

@if(Session::has('ltype') 
     <div>Hello</div> 
    @else 

必须使用::,而不是->因为会议是一个静态方法。

+0

嗨!对不起这是我的错。我做到了,但不知何故,我仍然在if语句内 – BourneShady

+0

嗯,它确实去了@else语句,但延迟了2-3分钟 – BourneShady

+1

@BourneShady出于性能考虑,会话不会在每个请求上进行评估以确定它们是否过期。他们使用抽奖来确定是否应该进行检查,因此如果刷新几次,垃圾收集器将最终被触发并清理过期的会话。这就是你遇到延迟的原因。你可以阅读更多关于[这个答案](http://stackoverflow.com/questions/26744921/laravel-4-2-session-table-not-getting-cleaned-up/26745685#26745685)。 – Bogdan