On Wed, Mar 15, 2017 at 4:33 PM, Marco Pivetta <ocram...@gmail.com> wrote:

> It's the only way to distinguish between set and unset properties. Also the
> only way to get all properties from an instance of an inheritance tree.
> Also, it's covered by tests that were explicitly added to prevent
> regressions on this.
>
> Same as all similar discussions before this one: need an alternative way to
> do things before proposing a BC break.
>
>
As mentioned in previous mails - the intent isn't to change existing
behaviour, but to provide a way for a class to override the default
behaviour. As long as those classes you are casting to array don't
implement __toArray they will behave exactly as they always have. The only
concern then, is that you might be relying on a library to not implement
that function on a class you are casting.


> On 15 Mar 2017 11:27 p.m., "Kalle Sommer Nielsen" <ka...@php.net> wrote:
>
> > Hi
> >
> > 2017-03-15 21:41 GMT+01:00 Marco Pivetta <ocram...@gmail.com>:
> > > This is a BC break due to the fact that the `(array)` cast is used to
> > > extract property information from private properties in library code.
> >
> > Yep, but then again that is more of an
> > undocumented-not-really-supported case afair, if anything then
> > Reflection should have the APIs to officially allow that, although I
> > am still skeptic of this.
> >
> >
> > --
> > regards,
> >
> > Kalle Sommer Nielsen
> > ka...@php.net
> >
>

Reply via email to