Yii - Uso de datos flash

Yii proporciona un concepto de datos flash. Los datos flash son datos de sesión que:

  • Se establece en una sola solicitud.
  • Solo estará disponible en la próxima solicitud.
  • Se eliminará automáticamente después.

Step 1 - Agregar un actionShowFlash método para el SiteController.

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

Step 2 - Dentro de la carpeta de vistas / sitio, cree un archivo de vista llamado showflash.php.

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

Step 3 - Cuando escribes http://localhost:8080/index.php?r=site/show-flash en la barra de direcciones del navegador web, verá lo siguiente.

Yii también ofrece las siguientes clases de sesión:

  • yii\web\CacheSession - Almacena información de la sesión en un caché.

  • yii\web\DbSession - Almacena información de la sesión en una base de datos.

  • yii\mongodb\Session - Almacena información de la sesión en un MongoDB.

  • yii\redis\Session - Almacena información de la sesión usando la base de datos redis.