Yii - 使用闪存数据


Yii 提供了闪存数据的概念。闪存数据是会话数据 -

  • 在一个请求中设置。
  • 仅在下一次请求时可用。
  • 之后会自动删除。

步骤 1 - 将actionShowFlash方法添加到SiteController

public function actionShowFlash() {
   $session = Yii::$app->session;
   // set a flash message named as "greeting"
   $session->setFlash('greeting', 'Hello user!');
   return $this->render('showflash');
}

步骤2 - 在views/site文件夹中,创建一个名为showflash.php的视图文件。

<?php
   use yii\bootstrap\Alert;
   echo Alert::widget([
      'options' => ['class' => 'alert-info'],
      'body' => Yii::$app->session->getFlash('greeting'),
   ]);
?>

步骤 3 - 当您在 Web 浏览器的地址栏中输入http://localhost:8080/index.php?r=site/show-flash 时,您将看到以下内容。

showflash.php 文件

Yii 还提供以下会话类 -

  • yii\web\CacheSession - 将会话信息存储在缓存中。

  • yii\web\DbSession - 将会话信息存储在数据库中。

  • yii\mongodb\Session - 将会话信息存储在 MongoDB 中。

  • yii\redis\Session - 使用 redis 数据库存储会话信息。