Re: [RFC] Partial Function Application for instance of non-static methods ("$this")

From: Date: Thu, 22 Jan 2026 15:33:59 +0000
Subject: Re: [RFC] Partial Function Application for instance of non-static methods ("$this")
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-129852@lists.php.net to get a copy of this message
On Thu, 22 Jan 2026, Tim Düsterhus wrote: > Arnaud and I would like to start discussion on our RFC “Partial Function > Application for instance of non-static methods ("$this")” which is intended to > round-off the Partial Function Application RFC that was accepted recently: > > https://wiki.php.net/rfc/partial_function_application_this We propose allowing a named parameter $this: ? to be combined with the “scope resolution operator” syntax of referring to a method. I can't say I am entirely sold on the syntax here — starting with a $ makes it look like a variable. Since the $this: ? parameter does not refer to a parameter in the underlying argument list and thus there is no ambiguity with regard to positional parameters it may be placed at any position of the parameter list I think I would be keen on *requiring* this to be the **first** in the argument list. Although there is no ambiguity, I also can't see why you would want to have it anywhere else. And the RFC does acknowledge "instance methods which effectively carry an implicit $this parameter that is provided on the left side of the -> operator." With both these two above comments, I think I would like to see a better syntax — but I am unsure if that's possible. It may also not be used when partially applying an instance method with a known object. $c = $dateTime->format($this: ?, "c"); // Fatal error: Invalid use of $this placeholder Can you explain (in the RFC) what you mean by "known object" — I don't think the language on what this means is clear enough. cheers, Derick

« previous php.internals (#129852) next »