Req #75268 [PATCH]: SplFixedArray doesn't implement __set_state().
Edit report at https://bugs.php.net/bug.php?id=75268&edit=1
ID: 75268
Patch added by: levim@php.net
Reported by: brad at hallnet dot co dot uk
Summary: SplFixedArray doesn't implement __set_state().
Status: Assigned
Type: Feature/Change Request
Package: SPL related
Operating System: Ubuntu
PHP Version: 7.0.23
Assigned To: levim
Block user comment: N
Private report: N
New Comment:
The following pull request has been associated:
Patch Name: Add SplFixedArray::__set_state
On GitHub: https://github.com/php/php-src/pull/6261
Patch: https://github.com/php/php-src/pull/6261.patch
Previous Comments:
------------------------------------------------------------------------
[2020-10-01 16:49:26] levim@php.net
Here's an example that shows existing serialization/unserialization is not quite correct:
https://3v4l.org/IMnI5.
My plan to fix this is to have string keys become properties and for numeric keys to become array
values. This same design should work for __set_state.
------------------------------------------------------------------------
[2020-10-01 04:54:59] levim@php.net
I'm trying to implement this for Hacktoberfest.
------------------------------------------------------------------------
[2018-02-13 21:07:19] nikic@php.net
@carusogabriel34: The code generation works, but running the code doesn't, as SplFixedArray
does not implement __set_state(): https://3v4l.org/50QD3
------------------------------------------------------------------------
[2018-02-13 20:43:49] carusogabriel34 at gmail dot com
Couldn't reproduce https://3v4l.org/QrqN0
------------------------------------------------------------------------
[2017-09-27 15:07:30] brad at hallnet dot co dot uk
Description:
------------
The SplFixedArray implementation doesn't have a __set_state() function, and as such
var_export() creates code which does not function.
Test script:
---------------
var_export(SplFixedArray::fromArray([1,2,3]));
Expected result:
----------------
The SplFixedArray can be exported and the code functions correctly.
Actual result:
--------------
Syntax error in exported code.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=75268&edit=1
Thread (9 messages)