PHP kendi Oturum Yönetimi Uygulanması

5 Cevap php

PHP bir kendi oturum yönetimini uygulamak için orada hangi seçenekler vardır?

Is there a nice way to implement a component which performs all session tasks? How can i construct a class which receives the HTTP Request and Response during one request process? I only found the option "session_save_handler" which seems to define the storage handler. What I need is to replace the whole session management. Is there another way using the PHP configuration or do I have to implement my own controller which receives all requests and calls my session management?

Yardımlarınız için teşekkürler

Selamlar Michael

5 Cevap

Hayır, ben söylediğim için üzgünüm, geçiş arabirimi yoktur, kendi için 'modüller' inşa. Orada bazı kanca (örn: session_save_handler(), set_error_handler()), ve ne yazık ki bu.

$ _SESSION Bir 'süper dünya' ve daha büyük bir proje üzerinde çalışıyoruz eğer IMO ya doğrudan bir şekilde ayarlamak gerekir. Sonra oturumları işlemek için sorumlu özel bir sınıf kullanmak daha iyi olacaktır. Üzerindeki kod hata ayıklama daha kolay ve böyle yapacaktır.

Ben size ne elde etmek istediğinizi, emin değilim. Bu soyut uzakta $ _SESSION değişkeni Eğer depolama değiştirmek istediğinizi daha istiyorum daha fazla gibi görünüyor.

Zend veya Güneş çerçeve Oturum erişim kolu şekilde bir göz atın.

http://www.phpeveryday.com/articles/Zend-Framework-Session-Introduction-P571.html http://solarphp.org/manual:sessions

Nasıl tek bir isteği sürecinde HTTP istek ve tepki alan bir sınıf oluşturabiliriz?

Ben size cevabı aldıktan ile ne demek, bilmiyorum, ama çerçeveler seçilen eylem için hangi yol, daha sonra (okuma / yazma) ve İstek (okuma) Session erişebilir bir yöntemini çağırmak front-/page-controllers var nesneleri ve daha sonra bir şablon aracılığıyla işlenen bir Response nesnesi oluşturur.

Otomatik test için kendi istek ve Session nesneleri oluşturmak ve sayfa denetleyiciye onları geçmek.

Sen yorumların birinde it yourself dedi. Sadece bir sınıfta $ _SESSION sarın. Ben bunu değiştirebilirsiniz sanmıyorum, ama kesinlikle buna kendi arayüzü oluşturabilirsiniz.

Örneğin, olabilir. Ilk şey inşa edilmiş bir sınıf oluşturmak ve Kurucuların içinde session_start () çağrısı

session_save_handler() fonksiyonunu kullanarak oturum bilgisi saklanabilir ve nasıl ele verir.

Varsayılan olarak PHP web sunucusu üzerinde bir yerde bulunan geçici dosyaları oturum bilgilerini saklar. Eğer bu bilgi yerine bir veritabanı tablosunda saklanan olabilir session_save_handler() fonksiyonunu kullanarak geri çağırma işlevlerini tanımlayabilirsiniz.

Eğer session_save_handler() fonksiyonu ile kendi tanımlanmış fonksiyonlar ile oturumları işlemek bile hala süper küresel değişken $ _SESSIONS ile bilgilere erişmek istiyorum.

Php bu sayfayı kontrol online manual. Sorunuza açısından yararlı pek çok bilgi vardır. Umarım yardımcı olur.