Hi Stas, On Fri, Jan 23, 2015 at 2:00 PM, Stanislav Malyshev <smalys...@gmail.com> wrote:
> > User script must have access the struct(PS(mod_data)) to extend base > class. > > Can't I extend the base class and then do something in overriding > methods and call parent, or override some methods but not others and > thus have the original methods still work just fine? > User may extend SessionHandler class like class MySession extends SessionHandler {} but user cannot extend base class(SessionHandler) capability because user script cannot access to PS(mod_data). Better way to define user defined session class is to use SessionHandlerInterface*. I would like to discuss interface cleanup, but in different thread. > > > In conclusion, SessionHandler object has no real use except as a toy and > > makes session module complex unnecessary. Since it cannot have real use, > > nobody is using it. Therefore, I would like to remove it. > > I'm not sure, what you actually are proposing to remove? I'm not sure > how you can "remove an object". Could you explain further? I should have written "remove the SessionHandler class". As I wrote, user may extend SessionHandler class. However, defining user session class as class MySession extends SessionHandler {} have no merit. Users must implement required methods to be useful. Interface is there for this purpose. I would like to remove SessionHandler class, but I don't object to have empty SessionHandler class for maximum compatibility. Regards, -- Yasuo Ohgaki yohg...@ohgaki.net