Nikita Popov wrote on 8/26/21 14:57:
> On Thu, Aug 26, 2021 at 8:34 PM Ben Ramsey <ram...@php.net> wrote:
> 
>> Nikita Popov wrote on 8/26/21 09:57:
>>> Right. I at least do not plan to address this issue. If you take a
>>> protected property and publicly re-export it, then any compatibility
>> issues
>>> are on you.
>>
>> This does not appear to affect only cases where one is re-exporting a
>> protected property as public.
>>
>> Exception protected properties without type hints:
>>
>> * PHP <= 8.0 - https://3v4l.org/GWmrk
>> * PHP 8.1 - https://3v4l.org/GWmrk/rfc
>>
>>
>> Exception protected properties with type hints:
>>
>> * PHP <= 8.0 - https://3v4l.org/UX1Pa
>> * PHP 8.1 - https://3v4l.org/UX1Pa/rfc
>>
> 
> These are not really meaningful examples, because you could simply not
> redeclare the property at all and assign it in the constructor instead (or
> preferably, let the parent constructor assign it). That's the normal way to
> extend exceptions. What made the original case interesting is that the
> property redeclaration isn't immediately redundant there, because it
> changes visibility.

If we don't want downstream users to redeclare the properties, why are
they protected?

Cheers,
Ben

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to