混淆Yii2会话

时间:2016-10-18 07:41:30

标签: php yii yii2

我使用Yii2框架来完成我的PHP项目。但是我遇到了一些麻烦。这是我的代码。 首先,通过yii2 session api设置会话变量,如下所示:

Yii::$app->session->set('test', 123);

然后在其他行动中,我希望得到这个变量:

var_dump(Yii::$app->session);

@session_start();
var_dump($_SESSION);

var_dump(Yii::$app->session['test']);

但我找到了结果:

object(yii\web\Session)#109 (6) {
  ["flashParam"]=>
  string(7) "__flash"
  ["handler"]=>
  NULL
  ["_cookieParams":"yii\web\Session":private]=>
  array(1) {
    ["httponly"]=>
    bool(true)
  }
  ["_hasSessionId":"yii\web\Session":private]=>
  NULL
  ["_events":"yii\base\Component":private]=>
  array(0) {
  }
  ["_behaviors":"yii\base\Component":private]=>
  NULL
}
array(2) {
  ["__flash"]=>
  array(0) {
  }
  ["test"]=>
  int(123)
}
int(123)

我想知道为什么Yii :: $ app-> session不能转储密钥的值' test'在第一个var_dump。

1 个答案:

答案 0 :(得分:0)

用于检索会话条目尝试使用session->get()

 $app->session->get('test') ; 

例如:

var_dump( $app->session->get('test')  );

请参阅本指南,了解一些示例和建议http://www.yiiframework.com/doc-2.0/guide-runtime-sessions-cookies.html