Sesje służą do przechowywania informacji o użytkownikach w formularzach. Laravel zapewnia różne typom danych jak: file, cookie, apc, array, Memcached, Redis, and database, korzystanie z obsługi danych sesji. Sesja może być skonfigurowany w pliku przechowywanego w config/session.php .


Aby uzyskać dostęp do danych sesji, musimy w sesji, dodać dane które będą dostepne za pośrednictwem żądania HTTP. Po ich dodaniu możemy użyć metody get () która będzie miała jeden argument, "klucz" , aby uzyskać dane z sesji. Np.:

$value = $request->session()->get('key');

Można używać innych metod, aby uzyskać  dane z sesji.

 

Przechowywanie danych sesji

Dane mogą być przechowywane w sesji za pomocą metody put (). Metoda weźmie ma dwa argumenty, "klucz" i "wartość" .

$request->session()->forget('key');

 

Za pomocą metody flush() usuwamy dane z sesji. Dla pokazania działnia sesji wykonamy prosty przkład. Stworzymy kontroler o nazwie SessionController wykonując następujące polecenia:

php artisan make:controller SessionController

Skopiuj poniższy kod w pliku w app / HTTP / controllers / SessionController.php.

session()->has('my_name'))
         echo $request->session()->get('my_name');
      else
         echo 'No data in the session';
   }
   public function storeSessionData(Request $request){
      $request->session()->put('my_name','Virat Gandhi');
      echo "Data has been added to session";
   }
   public function deleteSessionData(Request $request){
      $request->session()->forget('my_name');
      echo "Data has been removed from session.";
   }
}

Dodaj poniższe linie na do app / HTTP / routes.php .

Route::get('session/get','SessionController@accessSessionData');
Route::get('session/set','SessionController@storeSessionData');
Route::get('session/remove','SessionController@deleteSessionData');

Wpisz adres do przeglądarki:

http: // localhost: 8000 / session / get

Pojawi się napis:

Data has been added to session

Nastepnie przejdź do adresu:

http: // localhost: 8000 / sesji / get

Wyświetli się napis:

Virat Gandhi

Następnie wejdź pod następujący adres by usunąć sesję:

http://localhost:8000/session/remove

Pojawi się napis informujący nas o usunięicu danych z sesji:

Data has been removed from session


2016-12-27 13:35:27 Presented by Martin S