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

Reply via email to