On Tue, Mar 14, 2017 at 11:20 PM, Derick Rethans <der...@php.net> wrote:
> On Tue, 14 Mar 2017, Andrea Faulds wrote: > > > Hi everyone, > > > > Since stdClass has no __set_state method, var_export() produces unusable > > output if given an object of that class. I wrote a patch that would make > > var_export() produce a cast to object instead, which could be evaluated > to get > > back a stdClass: > > > > https://github.com/php/php-src/pull/2420 > > > > Any thoughts/comments? > > As original author of var_export, I approve of this — including not > adding __set_state(). > > cheers, > Derick > I'm also +1 on this, and also prefer not having __set_state(). An object cast is both more idiomatic and more performant. Additionally I feel that adding methods to stdClass will muddy the waters -- for example, this means that extending stdClass is no longer entirely unreasonable, as you might want to do it to reuse the __set_state() implementation. Not something I want to see happening. Nikita