Symfony 2获得当前会话时间

时间:2016-09-30 07:53:42

标签: php symfony session

我开始这样的会议:

$session = new Session();
$session->start();

浏览文档我找到了返回会话生命周期的方法。默认Symfony 2.3会话时间为3600秒。是否有一种方法可以返回当前的会话时间? (例如会话持续10分钟,所以我会得到600分钟)。我在文档中找不到这样的内容。

或者有没有办法手动计算这个时间并在会话期间通过页面传递这个值?

1 个答案:

答案 0 :(得分:3)

当然可以。

    $session = $this->get('session'); //you can get session from service container. no need for creating new instance.

// MetadataBag is what you're looking for
$sessionBag = $session->getMetadataBag();

// Here we go...
var_dump($sessionBag->getCreated());
var_dump($sessionBag->getLastUsed());

根据您的需要,您可能希望使用created lastUsedcreated是会话初始化时(用户的第一页请求),而lastUsed当然是最新的。但是,既然你在谈论会话生命周期,你可能想要使用第二个,因为这是生命周期相对的时间点。