Kohana 3 session id almak için en iyi yolu?

5 Cevap php

Kohana v3 mevcut ziyaretçiler session id almak için en iyi yolu nedir? session_id() iş gibi görünüyor ve sadece benim için null döndürür değil ..

Şu anda Im cookie::get('session') kullanarak, ama bu yapmam gereken sitesine erişmek ilk kez çalışmıyor.

Sana $this->session->id() Kohana v2 yapabileceğini biliyorum, ama bu KO3 var gibi görünmüyor ...

Teşekkürler

5 Cevap

Yerli, Cookie, Veritabanı: Genellikle bu 3 oturum türü herhangi birini kullanın.

Cookie için, sana session id yok inanıyorum. Eğer Session :: örneği çağrı bile () -> regenerate () oturum türü olarak tanımlama kullanırken, yalnızca null dönecektir.

> Session id döndürür) (- yeniden yerli için, bunu oluştururken Session tarafından kimliği almak için :: örneğini () gerekir.

Veritabanı için Session_Database session id depolanan $ _session_id korumuştur. Bunu sınıfını genişletmek ve kendi getter yazmak isteyebilirsiniz.

Umut olur.

Kohana have wrapper class for sessions. That class is called Session. Kohana allows multiple ways to store session data using multiple drivers such as memcached. I am using native way to store session data, that is default if you don't make any config changes via config/session.php I have looked kohana code for native session and found that this will give session id

Session::instance()->id();

Bu benim için çalışıyor. o da sizin için çalışıyor umut!

GitHub kaynağında bakarak, ben id döndürmek için bir yöntem bulmak için görünmüyor olabilir.

Ancak, session_id() native driver için kullanılır, bu yüzden belki de bu durumda should çalışma.

Eğer session_regenerate_id() ilk aramak belki olur?

Eğer veritabanı sürücüsünü kullanıyorsanız o çerez session id yapacak.

On the other hand it seems to be no direct way to get the session id. As how @SyaZ suggested, you should extend the session class and write your own getter method.