2021-05-04 15:57 GMT+02:00, Olle Härstedt <olleharst...@gmail.com>:
> 2021-05-04 12:33 GMT+02:00, Nikita Popov <nikita....@gmail.com>:
>> Hi internals,
>>
>> I'd like to present an RFC for property accessors:
>> https://wiki.php.net/rfc/property_accessors
>>
>> Property accessors are like __get() and __set(), but for a single
>> property.
>> They also support read-only properties and properties with asymmetric
>> visibility (public read, private write) as a side-effect.
>>
>> The proposal is modeled after C#-style accessors (also used by Swift),
>> and
>> syntactically similar to the previous
>> https://wiki.php.net/rfc/propertygetsetsyntax-v1.2 proposal.
>>
>> While I put a lot of effort into both the proposal and the
>> implementation,
>> I've grown increasingly uncertain that this is the right direction for us
>> to take. The proposal turned out to be significantly more complex than I
>> originally anticipated (despite reducing the scope to only "get" and
>> "set"
>> accessors), and I'm sure there are some interactions I still haven't
>> accounted for. I'm not convinced the value justifies the complexity.
>>
>> So, while I'm putting this up for discussion, it may be that I will not
>> pursue landing it. I think a lot of the practical value of this accessors
>> proposal would be captured by support for read-only (and/or
>> private-write)
>> properties. This has been discussed (and declined) in the past, but
>> probably should be revisited.
>>
>> Regards,
>> Nikita
>>
>
> Hi,
>
> In general I'm no fan of trivial getters and setters at all in OOP. I
> think a better solution is provided by:
>
> * readonly properties (or write-once, in the constructor)
> * namespace- or package-internal accessing; "internal" as an
> alternative to public/private
>
> Especially when getters and setters do not upheld any particular
> invariants or check validation.
>
> Note that namespace-internal access cannot be provided by getters and
> setters (though technically it's a big and hard change to PHP, AFAIK).
>
> Olle

Or maybe I shouldn't be a complete idiot and actually carefully read
the RFC before any knee-jerk reaction. Disregard.

Olle

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: https://www.php.net/unsub.php

Reply via email to