Oturum Kütüphanesi
"Konsoldan 'php zerocore create-grand-vision' gibi basit bir komutla tüm veritabanı ve tablolarının model dosyasını oluşturabilirsiniz."
PHP session işlemlerini daha pratik, kullanışlı ve güvenli halete getiren sınıftır.
# Kurulum
ZN dağıtımları için kurulum gerekmez.
↓ composer require znframework/package-storage
# Yöntemler
1.0.0 | Bool | insert(String $name, $value) | ||
6.0.0 | This | first(Void) | ||
6.0.0 | This | last(Void) | ||
1.0.0 | Mixed | select(String $name) | ||
1.0.0 | Array | selectAll(Void) | ||
1.0.0 | Bool | delete(String $name) | ||
1.0.0 | Bool | deleteAll(Void) | ||
3.1.2 | This | encode(String $name, String $value) | ||
3.1.2 | This | decode(String $hash) | ||
2.0.5 | This | regenerate(Bool $regenerate = true) |
# Yapılandırma
String | $encode = 'super' | Oturum anahtarlarının hangi algoritma ile şifreleneceğidir. Belirtilmezse şifreleme yapılmaz. |
Seçenekler | super, golden, md5, sha1 ... | |
Bool | $regenerate = true | Oturum kimliğinin değiştirilmesi durumu. Güvenlik açışıdaın bu değerin true olması tercih edilir. |
# INI Yapılandırması
Session yani oturum işlemlerinin htaccess veya php_ini ayarlarını yapılandırmak için oluşturulmuş yapılandırma dosyasıdır.
INI | ||
Array | $settings = [] | php.ini Oturum ayarları listesi. Bu ayarların kullanımı hakkında detaylı bilgiye PHP Ini Yönergeleri bağlantısı üzerinden ulaşabilirsiniz. |
Htaccess | ||
Bool | $status = false | Settings bölümündeki ayarların .htaccess dosyasına kaydedilip kaydedilmeyeceğini belirler. TRUE olması durumda ayarlar .htaccess dosyasına kaydedilir. FALSE olması durumuda sadece php_ini üzerinden yapılandırmaya çalışır. |
# Insert (ZN >= 1.0.0)
Oturum verisi oluşturmak için kullanılır.
Parametreler
String | $name | Oturum adı. |
Mixed | $value | Değer. |
Return | Bool |
Opsiyonel Yöntemler
Kullanımı
Session::insert('example', 'Example Data');
echo Session::select('example');
Session::example('Example Data');
# Select (ZN >= 1.0.0)
Oluşturulan oturumları seçmek için kullanılır.
Parametreler
String | $name | Oturum adı. |
Return | Mixed |
Kullanımı
Session::insert('example', ['a', 'b', 'c']);
output(Session::select('example'));
1 => string 'b' ( length = 3 ),
2 => string 'c' ( length = 3 )
output(Session::example());
# SelectAll (ZN >= 1.0.0)
Oluşturulan tüm oturumları seçmek için kullanılır.
Parametreler
Void | ||
Return | Array |
Kullanımı
Session::insert('example', 'Example Data');
Session::insert('value', 'Value');
output(Session::selectAll());
2063c1608d6e0baf80249c42e2be5804 => string 'Value' ( length = 7 )
output(Session::all());
# Delete (ZN >= 1.0.0)
Olutuşturulan oturumları silmek için kullanılır.
Parametreler
String | $name | Oturum adı. |
Return | Bool |
Kullanımı
Session::delete('example');
output(Session::selectAll());
Session::exampleDelete();
# DeleteAll (ZN >= 1.0.0)
Olutuşturulan tüm oturumları silmek için kullanılır.
Parametreler
Void | ||
Return | Bool |
Kullanımı
Session::deleteAll();
output(Session::selectAll());
array (size=0) empty
# Encode (ZN >= 3.1.2)
Oturum oluştururken hem değeri tutacak anahtarı hemde değerin kendsini şifrelemek için kullanabilirsiniz. Burada dikkat edilmesi gereken nokta anahtar şifrelemesi çözümlenebilirken değerin şifrelemesi çözümlenememektedir. Ön tanımlı olarak Config/Services.php -> session ayarları içinde ön tanımlı olarak anahtarın şifrelenmesi için kullanılan encode ayarı md5 olarak ayarlıdır.
Parametreler
String | $encodeName | Oturum değerini tutacak anahtarın şifrelenmesi için kullanılır. Boş bırakılması halinde hiç bir şifreleme yapmaz. |
String | $encodeValue | Oturum verisini şifrelemek için kullanılır. Boş bırakılması halinde hiç bir şifreleme yapmaz. |
Return | This |
Kullanımı
Session::encode('md5')->insert('sessionValue', 'Session Value');
Session::encode('sha1')->insert('sessionValue', 'Session Value');
\Output::writeLine(Session::decode('md5')->select('sessionValue'));
\Output::writeLine(Session::decode('sha1')->select('sessionValue'));
Session Value
# Decode (ZN >= 3.1.2)
Session::encode() ile şifrelenmiş oturum adını çözer. Şifreleme değer için tek yönlü olarak yapıldığı için çözümlenemez.
Parametreler
String | $encodeName | Oturum değerini tutacak anahtarın şifrelenmesi için kullanılır. Boş bırakılması halinde hiç bir şifreleme yapmaz. |
Return | This |
Kullanımı
Session::encode('md5')->insert('sessionValue', 'Session Value');
\Output::writeLine(Session::decode('md5')->select('sessionValue'));
İstenirse oturumun değeride şifrelenebilir. Ancak bu kullanımda verinin çözümlenmesi mümkün değildir.
Session::encode('md5', 'sha1')->insert('sessionValue', 'Session Value');
\Output::writeLine(Session::decode('md5')->select('sessionValue'));
# Regenerate (ZN >= 2.0.5)
Geçerli oturum kimliğini yenisiyle değiştirir. Ancak bu yöntem Session kütüphanesi için otomatik olarak kullanıldığından tekrar kullanımına gerek yoktur. Regenerate işleminin otomatik olarak yapılmamasını sağlamak için Config/Services.php -> session -> regenerate ayarının true değeri false olarak ayarlanmalıdır.
Parametreler
String | $regenerate | Oturum kimliği değiştirilsin mi? |
Return | This |
Kullanımı
Session::insert('example', 'Example Data');
Session::regenerate();