Re: Raising the precedence of the new operator

From: Date: Mon, 05 Apr 2021 20:40:14 +0000
Subject: Re: Raising the precedence of the new operator
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-113968@lists.php.net to get a copy of this message
On 05.04.2021 at 19:19, Ben Ramsey wrote:

>> 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.

I don't think there ever was an RFC for this.

--
Christoph M. Becker


Thread (14 messages)

« previous php.internals (#113968) next »