czw., 26 mar 2020 o 14:31 Nikita Popov <nikita....@gmail.com> napisał(a):
> Hi internals, > > I would like to submit the following RFC for your consideration: > https://wiki.php.net/rfc/constructor_promotion > > This is based on one off the suggestions made in > https://externals.io/message/109220, and some existing discussion on the > topic can be found in that thread. > > As I already said in linked topic. IMHO this is wrong and can be easily overused. A list of properties is changed into a list of constructor method arguments which can be easily overused on long argument lists and when the time comes to have attributes then the list of promoted arguments with their annotations and some extra blank lines then to improve readability could lead to long constructor signature list on a different level of indentation which also then always has to be un-collapsed in IDE and on the top of a class to keep the track of properties where usually list of properties exists with additional named constructors (always at the top). Not even mentioning that mix of promoted and un-promoted argument list would just feel awkward and that kind of mixed constructor where some of arguments are assigned magically and some of them not can make it harder to read. And I'm not saying this cause I'm preparing another proposal for filling the gap between the use of ad-hoc array structures, and the use of well-defined and type-safe value types. I'm saying this because PHP was always verbose and easy to read/decipher this solution IMHO has more drawbacks regarding readability than benefits. Cheers, -- Michał Brzuchalski