yii2中的会话

示例

导入Session类

use  yii\web\Session;

建立Session

$session = Yii::$app->session;
$session->open(); // 开启会议
$session->close();  // 关闭会议

将值存储在Session变量中。

$session = Yii::$app->session;

$session->set('name', 'stack');
OR
$session['name'] = 'stack';
OR
$_SESSION['name'] = 'stack';

从Session变量获取值。

$name = $session->get('name');
OR
$name = $session['name'];

删除Session变量

$session->remove('name');
OR
unset($session['name']);
OR
unset($_SESSION['name']);

$session->destroy(); // 销毁所有会话

删除所有会话变量

$session->removeAll();

检查会话变量

$session->has('name')
OR
isset($session['name'])
//两个函数都返回布尔值[true或false]

会话闪存

设置会话闪存

$session = Yii::$app->session;
$session->setFlash('error', 'Error in login');

获取会话闪存

echo $session->getFlash('error');

检查会话闪存

$result = $session->hasFlash('error');

删除会话闪存

$session->removeFlash('error');

删除所有会话闪存变量

$session->removeAllFlashes();

直接使用会话变量

设置并获取会话变量

\Yii::$app->session->set('name','stack');
\Yii::$app->session->get('name');

会话闪存

\Yii::$app->getSession()->setFlash('flash_msg','Message');
\Yii::$app->getSession()->getFlash('flash_msg');