[RFC DISCUSSION] User defined session serializer

php.internals

Yasuo Ohgaki

9 years ago
Hi all, Session module implements serialize handler as module. This RFC is to expose it to user space. RFC https://wiki.php.net/rfc/user_defined_session_serializer PR https://github.com/php/php-src/pull/2205 Comments are appreciated! Regards,
-- Yasuo Ohgaki yohgaki@ohgaki.net

Markus Fischer

9 years ago
Hello, On 17.11.2016 11:55, Yasuo Ohgaki wrote:
> > Session module implements serialize handler as module. > This RFC is to expose it to user space. > > RFC > https://wiki.php.net/rfc/user_defined_session_serializer > > PR > https://github.com/php/php-src/pull/2205 > > Comments are appreciated!
Well, I like it. It's sometimes necessary to share session state with non-PHP application and this is IMHO a welcome addition to ease the exchange. Btw, what is the proper way to signal a problem during serialization/unserialization? I couldn't figure it out from the RFC nor the PR and there doesn't seem to be a test case for it. Return null/false? Throw an exception? thanks, - Markus

Yasuo Ohgaki

9 years ago
Hi Markus, On Sat, Nov 19, 2016 at 9:02 AM, Markus Fischer <markus@fischer.name> wrote:
> On 17.11.2016 11:55, Yasuo Ohgaki wrote: >> >> Session module implements serialize handler as module. >> This RFC is to expose it to user space. >> >> RFC >> https://wiki.php.net/rfc/user_defined_session_serializer >> >> PR >> https://github.com/php/php-src/pull/2205 >> >> Comments are appreciated! > > Well, I like it. It's sometimes necessary to share session state with > non-PHP application and this is IMHO a welcome addition to ease the > exchange. > > Btw, what is the proper way to signal a problem during > serialization/unserialization? I couldn't figure it out from the RFC nor > the PR and there doesn't seem to be a test case for it. > Return null/false? Throw an exception?
It raises E_RECOVERABLE_ERROR currently. I choose it because session module raises errors. However, I prefer to use exception over error. I'll create a RFC to adopt exception for session. Thank you for feedback about tests, I'll add error case tests. Regards,
-- Yasuo Ohgaki yohgaki@ohgaki.net

Yasuo Ohgaki

9 years ago
Hi Markus, On Sat, Nov 19, 2016 at 1:15 PM, Yasuo Ohgaki <yohgaki@ohgaki.net> wrote:
>> Btw, what is the proper way to signal a problem during >> serialization/unserialization? I couldn't figure it out from the RFC nor >> the PR and there doesn't seem to be a test case for it. >> Return null/false? Throw an exception?
I added test and add return value description in RFC sample code. Serialize function should return "string". Unserialize function should return "array". Anything other data type raises E_RECOVERABLE_ERROR, so returning FALSE would be the reasonable choice to indicate error condition. To all, If there is no additional comment, I'll start vote in a few days. Regards,
-- Yasuo Ohgaki yohgaki@ohgaki.net