Yii - Usando Dados Flash

Yii fornece um conceito de dados flash. Dados Flash são dados de sessão que -

  • É definido em um pedido.
  • Estará disponível apenas na próxima solicitação.
  • Será excluído automaticamente depois disso.

Step 1 - Adicionar um actionShowFlash método para o 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 da pasta views / site, crie um arquivo View chamado showflash.php.

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

Step 3 - Quando você digita http://localhost:8080/index.php?r=site/show-flash na barra de endereço do navegador da web, você verá o seguinte.

O Yii também oferece as seguintes aulas de sessão -

  • yii\web\CacheSession - Armazena informações da sessão em um cache.

  • yii\web\DbSession - Armazena informações da sessão em um banco de dados.

  • yii\mongodb\Session - Armazena informações de sessão em um MongoDB.

  • yii\redis\Session - Armazena informações da sessão usando o banco de dados redis.