Session (Oturum) Kütüphanesi
Session (oturum) kütüphanesi, PHP oturum işlemlerini daha pratik, kolay ve güvenli hale getirir.
- Session Ayarlarını Yapılandırma
- Session Verisi Tanımlama » set()
- Session Verisi Okuma » get()
- Session Verisi Kontrolü » has()
- Session Verisi Silme » delete()
- Session Sonlandırma » destroy()
- Flash Mesaj Oluşturma » setFlash()
- Flash Mesaj Okuma » getFlash()
- Flash Mesaj Kontrolü » hasFlash()
Session Ayarlarını Yapılandırma
Session kütüphanesi ile ilgili ayarlar, /App/Config dizini içerisindeki App.php dosyasında bulunur. Dosya içerisinde return edilen dizi değişkendeki session anahtarına tanımlı değerler, session kütüphanesine aittir.
//--- [*] App/Config/App.php ---//
'session' => [
'encryption_key' => 'u2LMq1h4oUV0ohL9svqedoB5LebiIE4z', // session şifreleme anahtarı
'cookie_httponly' => true,
'use_only_cookies' => true,
'lifetime' => 3600, // session süresi
],
Session Verisi Tanımlama
Session verisi tanımlamak için set() methodu kullanılır. Oluşturulacak session adı ve session verisi parametre olarak verilir.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $key | String | Session adı |
| $value | Mixed | Session değeri |
Session::set('key', 'value');
Toplu olarak session verisi tanımlamak için, session verileri bir array'e atanıp set() methoduna parametre olarak verilir.
Session::set(['user_id' => 1, 'username' => 'johndoe']);
Session Verisi Okuma
Tanımlanan session verilerini okumak için get() methodu kullanılır. Okunacak session verisinin adı parametre olarak verilir. Eğer parametre verilmezse, tüm session verisini array tipinde döndürür.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $key | String | Session adı |
// 'key' anahtarına tanımlı session verisini döndürür
Session::get('key');
// Tüm session verisini döndürür
Session::get();
Session Verisi Kontrolü
Belirtilen isimde session verisi olup olmadığını kontrol etmek için has() methodu kullanılır. Kontrol edilecek session verisinin adı parametre olarak verilir.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $key | String | Session adı |
if (Session::has('key'))
// session tanımlı
Session Verisi Silme
Belirtilen isimle tanımlı session verisini silmek için delete() methodu kullanılır. Silinecek olan session verisinin adı parametre olarak verilir.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $key | String | Session adı |
Session::delete('key');
Session Sonlandırma
Tüm session verilerini silip oturumu sonlandırmak için destroy() methodu kullanılır.
Session::destroy();
Flash Mesaj Oluşturma
Flash mesajlar sessionda tutulan ve bir sonraki http isteğinde otomatik olarak silinen verilerdir. Bir flash mesaj oluşturmak için setFlash() methodu kullanılır. Mesaj içeriği ve yönlendirme adresi parametre olarak verilir.
| Parametre | Veri Tipi | Açıklama |
|---|---|---|
| $message | String | Mesaj içeriği |
| $url | String | Yönlenecek url ( Default: null ) |
// Örnek kullanım
Session::setFlash('Bu bir flash mesajdır');
// Flash mesaj oluşturulduktan sonra belirtilen adrese yönlendirilir.
Session::setFlash('Bu bir flash mesajdır', 'http://ornek.com');
Flash Mesaj Okuma
Oluşturulan flash mesajları okumak için getFlash() methodu kullanılır.
Session::getFlash();
Flash Mesaj Kontrolü
Oluşturulmuş bir flash mesaj olup olmadığını kontrol etmek için hasFlash() methodu kullanılır.
if (Session::hasFlash())
// flash mesaj var