Thanks to visit codestin.com
Credit goes to github.com

Skip to content

v0.6.0

Latest

Choose a tag to compare

@nicolas-grekas nicolas-grekas released this 26 Apr 12:55
· 1 commit to main since this release

Removed

  • deepclone_hydrate() no longer treats the special "\0" key as SPL
    internal state. ArrayObject, ArrayIterator, and SplObjectStorage
    all ship __serialize / __unserialize since PHP 7.4 — callers can
    populate them by instantiating with deepclone_hydrate() and calling
    __unserialize() with the documented array shape, or by round-tripping
    via deepclone_from_array() which routes through __unserialize
    natively. The mangled-key resolution path ("propName", "\0*\0prop",
    "\0Class\0prop") is unchanged.

    This removes ~80 lines of bespoke SPL handling — offsetSet loops,
    constructor invocation, packed-array shape validation, error paths —
    that duplicated what the classes natively expose. Symfony's
    Hydrator::hydrate() / Instantiator::instantiate() retain BC by
    translating the legacy "\0" shape to __unserialize() in user-land.