Oturum Kütüphanesi


    × Bunları biliyor muydunuz?
"Devtools projesi ile framework kullanma deneyiminizi daha görsel hale getirebilirsiniz."


PHP session işlemlerini daha pratik, kullanışlı ve güvenli halete getiren sınıftır.

 

 

# Kurulum


ZN SE ve ZN CE dağıtımları için terminal kurulum komutu.

↓ 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


Dosya: Config/Storage.php
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.

File: Settings/Ini.php
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.
File: Settings/Htaccess.php
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

6.0.0 This first(Void) Bir oturum dizisinin başına eleman ekler. Session::insert() işleminin bu yöntemle birlikte yapılması durumunda session verisi dizi türünde saklanır.
6.0.0 This last(Void) Bir oturum dizisinin sonuna eleman ekler. Session::insert() işleminin bu yöntemle birlikte yapılması durumunda session verisi dizi türünde saklanır.

Kullanımı

Session::insert('example', 'Example Data');
echo Session::select('example');
Example Data
Doğrudan Erişim (ZN >= 5.2.0)
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'));
0 => string 'a' ( length = 3 ),
1 => string 'b' ( length = 3 ),
2 => string 'c' ( length = 3 )
 
Doğrudan Erişim (ZN >= 5.2.0)
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());
1a79a4d60de6718e8e5b326e338ae533 => string 'Example Data' ( length = 14 ),
2063c1608d6e0baf80249c42e2be5804 => string 'Value' ( length = 7 )
Doğrudan Erişim (ZN >= 5.2.0)
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());
2063c1608d6e0baf80249c42e2be5804 => string 'Value' ( length = 7 )
Doğrudan Erişim (ZN >= 5.2.0)
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
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'));
Session Value 

İ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'));
ed3f3e737cd0b4e396b1350e119a665b156e133a

 

 

# 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();