php-mongo-session
php-mongo-session copied to clipboard
read-only non-locking session
If #14 ends up a no-go, I was thinking it might be interesting to add a read-only mode which would allow applications to access locked sessions, but prevent writes.
For scenarios where a bunch of separate sections of a site are loading via ajax (and not writing to the session, only reading), this would enable you to have true asynchronous requests to the same session.
This implementation would of course still require a lock for write access.
Currently the read() method is requiring a lock.
This is a good idea, too. Probably a lot simpler than #14 and in a majority of cases might be what you want anyway.
And makes me less nervous! Haha On Jan 22, 2015 1:22 PM, "Nick Ilyin" [email protected] wrote:
This is a good idea, too. Probably a lot simpler than #14 https://github.com/nicktacular/php-mongo-session/issues/14 and in a majority of cases might be what you want anyway.
— Reply to this email directly or view it on GitHub https://github.com/nicktacular/php-mongo-session/issues/17#issuecomment-71070449 .
Having thought about this more, I think this is a must have. A few things need to be done here:
- Upon calling
read()
,MongoSession
needs to de-serialize the data usingsession_decode
method to reference a local copy. - Introduce a
get($key)
method which will allow access to that reference without regard for locking since the assumption here is that it will be immutable. - Ensure that for referenced objects,
clone
is called on them so that there's no confusion of immutability.
How does that sound?
FYI see #16