Le 25/08/2021 à 15:51, Rowan Tommins a écrit :
> On 25/08/2021 13:45, Nikita Popov wrote:
>
>> We obviously need to keep support for dynamic properties on stdClass,
>> and if we do so, I would expect that to apply to subclasses as well.
>
> Does that actually follow, though? Right now, there is no advantage to
> extending stdClass, so no reason to expect existing code to do so, and
> no reason for people doing so to expect it to affect behaviour.
>
>
>> Second, I consider "extends stdClass" to be something of a last-ditch
>> option. If you encounter a dynamic property deprecation warning, you
>> should generally resolve it in some other way, and only fall back to
>> "extends stdClass" as the final option.
>
>
> That's a reasonable argument in terms of the multiple inheritance case.
>
> My concern about the name remains though: people already do get
> confused by the name "stdClass", because it's not in any way
> "standard", and tells you nothing about what it does.
>
> Reading "class Foo extends stdClass" gives the reader no clues what
> magic behaviour is being inherited; "class Foo extends DynamicObject"
> would be much more clear. Similarly, "$foo = new DynamicObject;
> $foo->bar = 42;" is clearer than "$foo = new stdClass; $foo->bar = 42;"
>
> Regards,
>
Hello,
And why not adding an extra keyword, such as:
```
```
Regards,
--
Pierre