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

Reply via email to