2016-09-30 16 views
2

を取得します。デフォルトのSymfony 2.3セッション時間は3600秒です。現在のセッション時間を返すメソッドがありますか? (例えば、セッションは10分間続くので、600秒になるでしょう)。私はこのようなことはドキュメントで見つけられませんでした。symfonyの2は、私はこのようなセッションを始めている現在のセッション時間

また、この時間を手作業でカウントし、セッション中にこの値をページに渡す方法はありますか?

+0

セッションの開始時間を新しい場所に保存できます。おそらくこの質問は役に立ちます。http://stackoverflow.com/questions/16775028/symfony2-check-whether-session-exists-or-not – ventaquil

+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()); 

あなたはニーズに応じて、またはあなたのlastUsedcreatedを使用することをお勧めします。 createdは、セッションが初期化されたとき(ユーザーの最初のページ要求)ですが、lastUsedが最新です。しかし、あなたはセッションの生涯について何かを言っているので、生涯が相対的な時点であるので、2番目のセッションを使用したいかもしれません。

関連する問題