@Lynn, @Alex, thank you for your comments. I have improved the "without constructor arguments' parentheses" part of the introduction section and started the voting.
вт, 23 апр. 2024 г. в 16:55, Alexandru Pătrănescu <dreal...@gmail.com>: > > On Tue, Apr 23, 2024 at 3:31 PM Robert Landers <landers.rob...@gmail.com> > wrote: > >> On Tue, Apr 23, 2024 at 11:10 AM Valentin Udaltsov >> <udaltsov.valen...@gmail.com> wrote: >> > >> > >> > Does anyone have additional feedback? I'd like to start voting on >> Thursday, April 25th. >> > I've also added a section on other syntax ideas that have been >> expressed on Twitter and in the PR: >> https://wiki.php.net/rfc/new_without_parentheses#other_syntax_ideas >> > -- >> > Valentin >> >> I suspect this will break (badly written) reflection in interesting ways: >> >> https://3v4l.org/mcSNH >> >> This basically breaks dereferencing order of operations and makes it >> inconsistent. >> > > Quote from RFC: > "RFC still does not allow to omit parentheses around the new expression > *without* constructor arguments' parentheses, because in some cases this > leads to an ambiguity" > > And actually it mentions a list in the RFC: > > // Instantiate and then access the instance or instantiate the result of the > expression?new MyClass::CONSTANT <http://www.php.net/constant>;new > MyClass::$staticProperty;new $myClass::CONSTANT > <http://www.php.net/constant>;new $myClass::$staticProperty;new > $myClass->property;new $myClass->method(); > > But actually from all of those, right now, only "new MyClass::CONSTANT > <http://www.php.net/constant>;" and "*new* $myClass::CONSTANT > <http://www.php.net/constant>;" are not working, while the other 4 are > working fine. > > So yeah, this needs clarification if they continue to work as they work > right now: > https://3v4l.org/PmCfR > > Thanks, > Alex > -- С уважением, Валентин