如何访问Dancer2的会话对象?

时间:2017-07-03 14:21:18

标签: perl session dancer

我正在为我的网络应用使用Dancer2和YAML会话引擎。 我的config.yml包含

engines:
  session:
    YAML:
      ...
      cookie_duration: 5 minutes
      ...

我希望显示类似“您的会话在X分钟内过期”的内容。

如何访问此值,即如何访问路线中的$session对象?

使用DSL关键字session我只能设置和获取 任意值,例如session username => 'Bob';$username = session('username');等。

请注意,我对获取配置值(settings('engines')->{session}{YAML}{cookie_duration})不感兴趣,因为这是我必须解析的字符串,它取决于YAML是我的会话引擎。我想访问$session->session_duration

1 个答案:

答案 0 :(得分:1)

当您在没有任何参数的情况下调用session时,您将获得会话对象。如果它更容易阅读,请随意将其分配给$session变量。要获得到期时间,请使用the expires method

my $session = session;
warn $session->expires;

或更简单:

warn session->expires;