Zoeken…


Sessie in yii2

Sessieklasse importeren

use  yii\web\Session;

Maak een sessie aan

$session = Yii::$app->session;
$session->open(); // open a session
$session->close();  // close a session

Sla de waarde op in sessievariabele.

$session = Yii::$app->session;

$session->set('name', 'stack');
OR
$session['name'] = 'stack';
OR
$_SESSION['name'] = 'stack';

Haal de waarde uit de sessievariabele.

$name = $session->get('name');
OR
$name = $session['name'];

Verwijder de sessievariabele

$session->remove('name');
OR
unset($session['name']);
OR
unset($_SESSION['name']);

$session->destroy(); // destroy all session 

Verwijder alle sessievariabelen

$session->removeAll();

Controleer sessie variabele

$session->has('name')
OR
isset($session['name'])
//both function return boolean value [true or false]

Sessie Flash

Stel sessieflits in

$session = Yii::$app->session;
$session->setFlash('error', 'Error in login');

Krijg sessieflits

echo $session->getFlash('error');

Controleer sessieflits

$result = $session->hasFlash('error');

Verwijder sessieflits

$session->removeFlash('error');

Verwijder alle sessieflitsvariabelen

$session->removeAllFlashes();

Gebruik direct sessievariabele

Set en krijg sessievariabele

\Yii::$app->session->set('name','stack');
\Yii::$app->session->get('name');

Sessie flits

\Yii::$app->getSession()->setFlash('flash_msg','Message');
\Yii::$app->getSession()->getFlash('flash_msg');

Sessievariabelen maken en bewerken die arrays zijn

Sla de sessievariabele op als een variabele.

$session = Yii::$app->session;

$sess = $session['keys'];

Maak of update vervolgens de gewenste matrixwaarde

$sess['first'] = 'abc';

En tot slot opslaan in de sessievariabele

$session['keys'] = $sess

Onthoud URL om later opnieuw te bezoeken

Gebruikscasus: onthoud de huidige URL om naar terug te keren na het toevoegen van een nieuw record in een andere (gerelateerde) controller, maak bijvoorbeeld een nieuw contact om toe te voegen aan een factuur die wordt bewerkt.

InvoiceController / actionUpdate:

Url::remember(Url::current(), 'returnInvoice');

ContactController / actieCreëren:

if ($model->save()) {
    $return = Url::previous('returnInvoice');
    if ($return) {
        return $this->redirect($return);
    }
    // ...
}

U kunt de onthouden URL opnieuw instellen als u klaar bent:

InvoiceController / actionUpdate:

if ($model->save()) {
    Url::remember(null, 'returnInvoice');
    // ...
}

De sleutelnaam - returnInvoice in dit voorbeeld - is optioneel.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow