Re: Raising the precedence of the new operator
> On Apr 5, 2021, at 12:12, Christoph M. Becker <cmbecker69@gmx.de> wrote:
>
> On 05.04.2021 at 18:40, André Hänsel wrote:
>
>> I was wondering... PHP is the only language I know of where you have to
>> write (new Foo())->bar() instead of
>> new Foo()->bar(). This is particularly apparent with the builder pattern:
>>
>> $developer->drink((new Coffee())->withCream()->withSugar());
>> $logger->log((new LogMessage())->withMessage('Coffee was drunk'));
>>
>> Since new Foo()->bar() cannot (and probably should not) be used to
>> "dynamically instantiate a new thing of the class
>> name returned by function Foo()", it seems like it would be no problem to
>> change the precedence rules so that
>> new Foo()->bar() means "instantiate a new Foo and call bar() on
>> it".
>>
>> It's currently a syntax error, so allowing it would be automatically
>> compatible.
>>
>> Has this ever been discussed before?
>
> See <https://bugs.php.net/bug.php?id=70549>.
The last comment on that issue reads:
> @Nikic
> Good news. I'll prepare RFC for 7.1.
Was there an RFC for it? I can’t find one.
Cheers,
Ben
Attachment: [application/pgp-signature] Message signed with OpenPGP signature.asc
Thread (14 messages)