HTTP odaklı uygulamalar durum bilgisi taşımadıkları için, oturumlar istekler arasında kullanıcı hakkında bilgi saklamak için bir yol sağlar. Laravel temiz, tek bir API aracılığıyla kullanılabilen çeşitli oturum back-endleri ile birlikte gelir. İçerisinde Memcached, Redis ve veritabanları gibi popüler back-end desteği yer almaktadır.
Oturum yapılandırma ayarları config/session.php dosyasında bulunmaktadır. Bu belgede size sunulan iyi belgelenmiş seçenekleri gözden geçirmeyi unutmayın. Ön tanımlı olarak, Laravel file oturum sürücüsünü kullanmak üzere yapılandırılmıştır ve bu yapılandırma uygulamaların çoğunda iyi çalışacaktır.
Laravel ile Redis oturumlarını kullanmadan önce, Composer aracılığı ile predis/predis paketini(~1.0) yüklemeniz gerekir.
Not: Eğer kayıtlı tüm oturum bilgilerini şifreli bir şekilde saklamanız gerekiyorsa yapılandırma dosyasındaki
encryptalanınıtrueyapın.
Laravel framework dahili olarak flash session anahtarını kullanır, bu nedenle siz oturuma bu isimle bir öğe eklememelisiniz.
Session::put('anahtar', 'deger');
Session::push('uyeler.takimlar', 'gelistiriciler');
$value = Session::get('anahtar');
$value = Session::get('anahtar', 'varsayilan');
$value = Session::get('anahtar', function() { return 'varsayilan'; });
$value = Session::pull('anahtar', 'varsayilan');
$data = Session::all();
if (Session::has('uyeler'))
{
//
}
Session::forget('anahtar');
Session::flush();
Session::regenerate();
Bazen oturumda sadece sonraki istek için öğeler saklamak isteyebilirsiniz. Bunu Session::flash metodunu kullanarak gerçekleştirebilirsiniz:
Session::flash('anahtar', 'deger');
Session::reflash();
Session::keep(array('uyeadi', 'eposta'));
database oturum sürücüsü kullanıyorken, oturum öğelerini taşıyan bir tablo kurulumu gerekecek. Aşağıda, bu tablo için örnek bir Şema deklarasyonu gösterilmektedir:
Schema::create('sessions', function($table)
{
$table->string('id')->unique();
$table->text('payload');
$table->integer('last_activity');
});
Tabii ki, bu migrasyonu üretmek için session:table Artisan komutunu kullanabilirsiniz!
php artisan session:table
composer dump-autoload
php artisan migrate
Oturum "driver'ı" her istek için oturum verisinin nerede saklanacağını tanımlamaktadır. Laravel çeşitli harika sürücülerle birlikte gelmektedir:
file- oturumlarapp/storage/sessionsklasöründe saklanacaktır.cookie- oturumlar güvenli, kriptolanmış çerezlerde saklanacaktır.database- oturumlar kendi uygulamanızın kullandığı bir veritabanında saklanacaktır.memcached/ redis - oturumlar bu hızlı, önbellekleme tabanlı depolardan birisinde saklanacaktır.array- oturumlar basit bir PHP dizisinde saklanacak ve istekler arasında sebat etmeyecektir.
Not: Array sürücüsü tipik olarak Unit Testler çalıştırmak için kullanılır, bu yüzden oturum verileri sürdürülmeyecektir.