Ben ile geldi bir tasarım sorunu çözmek için nasıl tavsiye arıyorum. Ben Symfony sınıfların isimlerini kullanarak olacak bu yüzden ben şu anda Symfony framework kullanıyorum.
Bir kullanıcı "doğrulanmış" veya Symfony kullanıcı sınıfında onların "kimlik" değişim, regenerate () şu anda kullanılan depolama sınıfı çağrısında alır hale gelir. Mağaza sınıf sfStorage uzanır.
Bu regenerate () komutu koştu Şimdi zaman, biz bazı iş mantığı yapmak gerekir. Aşağıdaki şimdiye kadar geldi ettik seçenekleri şunlardır:
AddCredential, removeCredential, setAuthenticated üç fonksiyonlarını değiştirmek ve bir olay (setAuthenticated zaten yapar) göndermek için onlara bu yüzden bizim iş mantığı yapmak için biliyorum.
İkinci seçenek sfSessionStorage sınıfını genişletmek ve her yenilenme bir olay atmak için bunu söylemek olacaktır. Ben bu ile sahip sorun sfUser arayüz sfStorage sorar olmasıdır. Birisi olay eklemek için bilmiyordum sfStorage uzanır sınıfının her türlü geçti biz sonra sfStorage değiştirmek sürece, o iş olmaz.
Üçüncü seçenek ikinci seçenek olurdu, ama biz hala Yenilenme üzerinde bir bildirim gönderir özel bir sfStorage soyut sınıf arabirimi gerektiren söylemek kullanıcı nesnesi uzanacak. Sonra geçer herhangi bir sınıf, bu bildirim yöntemi takip edeceğini emin olur.
Herkes herhangi bir öneriniz var mı?