yii2
Sesja
Szukaj…
Sesja w Yii2
import Session Class
use yii\web\Session;
Utwórz sesję
$session = Yii::$app->session;
$session->open(); // open a session
$session->close(); // close a session
Zapisz wartość w zmiennej sesji.
$session = Yii::$app->session;
$session->set('name', 'stack');
OR
$session['name'] = 'stack';
OR
$_SESSION['name'] = 'stack';
Uzyskaj wartość ze zmiennej sesji.
$name = $session->get('name');
OR
$name = $session['name'];
Usuń zmienną sesji
$session->remove('name');
OR
unset($session['name']);
OR
unset($_SESSION['name']);
$session->destroy(); // destroy all session
Usuń wszystkie zmienne sesji
$session->removeAll();
Sprawdź zmienną sesji
$session->has('name')
OR
isset($session['name'])
//both function return boolean value [true or false]
Flash sesji
Ustaw sesję flash
$session = Yii::$app->session;
$session->setFlash('error', 'Error in login');
Uzyskaj flash sesji
echo $session->getFlash('error');
Sprawdź sesję flash
$result = $session->hasFlash('error');
Usuń sesję flash
$session->removeFlash('error');
Usuń wszystkie zmienne flash sesji
$session->removeAllFlashes();
Bezpośrednio użyj zmiennej sesji
Ustaw i uzyskaj zmienną sesji
\Yii::$app->session->set('name','stack');
\Yii::$app->session->get('name');
Błysk sesji
\Yii::$app->getSession()->setFlash('flash_msg','Message');
\Yii::$app->getSession()->getFlash('flash_msg');
Tworzenie i edycja zmiennych sesji, które są tablicami
Zapisz zmienną sesji jako zmienną.
$session = Yii::$app->session;
$sess = $session['keys'];
Następnie utwórz lub zaktualizuj żądaną wartość tablicy
$sess['first'] = 'abc';
I na koniec zapisz do zmiennej sesji
$session['keys'] = $sess
Zapamiętaj adres URL, aby odwiedzić go później
Przypadek użycia: zapamiętaj bieżący adres URL, do którego można wrócić po dodaniu nowego rekordu w innym (powiązanym) kontrolerze, na przykład utwórz nowy kontakt, aby dodać go do edytowanej faktury.
InvoiceController / actionUpdate:
Url::remember(Url::current(), 'returnInvoice');
ContactController / actionCreate:
if ($model->save()) {
$return = Url::previous('returnInvoice');
if ($return) {
return $this->redirect($return);
}
// ...
}
Po zakończeniu możesz zresetować zapamiętany adres URL:
InvoiceController / actionUpdate:
if ($model->save()) {
Url::remember(null, 'returnInvoice');
// ...
}
Nazwa klucza - w tym przykładzie returnInvoice
- jest opcjonalna.
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow