yii2
Session
Sök…
Session i yii2
import Session Class
use yii\web\Session;
Skapa en session
$session = Yii::$app->session;
$session->open(); // open a session
$session->close(); // close a session
Lagra värdet i sessionvariabel.
$session = Yii::$app->session;
$session->set('name', 'stack');
OR
$session['name'] = 'stack';
OR
$_SESSION['name'] = 'stack';
Hämta värdet från sessionvariabeln.
$name = $session->get('name');
OR
$name = $session['name'];
Ta bort sessionvariabeln
$session->remove('name');
OR
unset($session['name']);
OR
unset($_SESSION['name']);
$session->destroy(); // destroy all session
Ta bort alla sessionvariabler
$session->removeAll();
Kontrollera Session-variabeln
$session->has('name')
OR
isset($session['name'])
//both function return boolean value [true or false]
Session Flash
Ställ in sessionblixten
$session = Yii::$app->session;
$session->setFlash('error', 'Error in login');
Få sessionblixten
echo $session->getFlash('error');
Kontrollera sessionblixten
$result = $session->hasFlash('error');
Ta bort sessionblixten
$session->removeFlash('error');
Ta bort alla sessionblixtsvariabler
$session->removeAllFlashes();
Använd direkt sessionvariabel
Ställ in och få sessionvariabel
\Yii::$app->session->set('name','stack');
\Yii::$app->session->get('name');
Session flash
\Yii::$app->getSession()->setFlash('flash_msg','Message');
\Yii::$app->getSession()->getFlash('flash_msg');
Skapa och redigera sessionvariabler som är matriser
Spara sessionvariabeln som en variabel.
$session = Yii::$app->session;
$sess = $session['keys'];
Skapa eller uppdatera sedan det arrayvärde du vill ha
$sess['first'] = 'abc';
Och slutligen spara till sessionvariabeln
$session['keys'] = $sess
Kom ihåg URL för att gå igenom senare
Använd fall: kom ihåg den aktuella URL-adressen du vill återgå till efter att ha lagt till en ny post i en annan (relaterad) styrenhet, skapa t.ex. en ny kontakt för att lägga till en faktura som redigeras.
InvoiceController / actionUpdate:
Url::remember(Url::current(), 'returnInvoice');
KontaktController / actionCreate:
if ($model->save()) {
$return = Url::previous('returnInvoice');
if ($return) {
return $this->redirect($return);
}
// ...
}
Du kan återställa den minns URL när du är klar:
InvoiceController / actionUpdate:
if ($model->save()) {
Url::remember(null, 'returnInvoice');
// ...
}
returnInvoice
- returnInvoice
i detta exempel - är valfritt.
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow