yii2
Session
Suche…
Sitzung in yii2
Sitzungsklasse importieren
use yii\web\Session;
Sitzung erstellen
$session = Yii::$app->session;
$session->open(); // open a session
$session->close(); // close a session
Speichern Sie den Wert in der Sitzungsvariablen.
$session = Yii::$app->session;
$session->set('name', 'stack');
OR
$session['name'] = 'stack';
OR
$_SESSION['name'] = 'stack';
Rufen Sie den Wert aus der Sitzungsvariablen ab.
$name = $session->get('name');
OR
$name = $session['name'];
Entfernen Sie die Sitzungsvariable
$session->remove('name');
OR
unset($session['name']);
OR
unset($_SESSION['name']);
$session->destroy(); // destroy all session
Entfernen Sie alle Sitzungsvariablen
$session->removeAll();
Überprüfen Sie die Sitzungsvariable
$session->has('name')
OR
isset($session['name'])
//both function return boolean value [true or false]
Session Flash
Sitzungsblitz einstellen
$session = Yii::$app->session;
$session->setFlash('error', 'Error in login');
Session-Flash abrufen
echo $session->getFlash('error');
Überprüfen Sie den Sitzungsblitz
$result = $session->hasFlash('error');
Sitzungsblitz entfernen
$session->removeFlash('error');
Entfernen Sie alle Session-Flash-Variablen
$session->removeAllFlashes();
Sitzungsvariable direkt verwenden
Sitzungsvariable setzen und abrufen
\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');
Erstellen und Bearbeiten von Sitzungsvariablen, die Arrays sind
Speichern Sie die Sitzungsvariable als Variable.
$session = Yii::$app->session;
$sess = $session['keys'];
Erstellen oder aktualisieren Sie dann den gewünschten Array-Wert
$sess['first'] = 'abc';
Speichern Sie schließlich in die Sitzungsvariable
$session['keys'] = $sess
Erinnern Sie sich an die URL, um sie später erneut aufzurufen
Anwendungsfall: Erinnern Sie sich an die aktuelle URL, zu der Sie zurückkehren möchten, nachdem Sie einen neuen Datensatz in einem anderen (zugehörigen) Controller hinzugefügt haben. Erstellen Sie beispielsweise einen neuen Kontakt, den Sie zu einer bearbeiteten Rechnung hinzufügen möchten.
InvoiceController / actionUpdate:
Url::remember(Url::current(), 'returnInvoice');
ContactController / actionCreate:
if ($model->save()) {
$return = Url::previous('returnInvoice');
if ($return) {
return $this->redirect($return);
}
// ...
}
Sie können die gespeicherte URL zurücksetzen, wenn Sie fertig sind:
InvoiceController / actionUpdate:
if ($model->save()) {
Url::remember(null, 'returnInvoice');
// ...
}
Der Schlüsselname - in diesem Beispiel returnInvoice
- ist optional.