Symfony 2获取当前会话时间

3
我这样开始会话:

我这样开始会话:

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

在阅读文档时,我找到了返回会话生命周期的方法。默认的Symfony 2.3会话时间为3600秒。是否有一种方法可以返回当前会话时间?(例如会话持续10分钟,因此我会得到600秒)。我在文档中没有找到类似于这样的任何内容。 或者是否有一种方法可以手动计算此时间并在会话期间通过页面传递此值?

你可以将启动时间保存在新的会话中 - 或许这个问题会有用:https://dev59.com/OHLYa4cB1Zd3GeqPZpgo - ventaquil
不太准确,我需要精确的时间。 - Pan Panam
1个回答

4
当然可以。
    $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());

根据您的需求,您可能需要使用createdlastUsedcreated表示会话初始化的时间(用户的第一个页面请求),而lastUsed则是最近的时间。但是由于您提到了会话生存时间,因此您可能需要使用第二个选项,因为这是相对于生存时间的时间点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接