On Tue, Jul 22, 2025, at 3:02 PM, Larry Garfield wrote: > Hi folks. Just a quick update: We've made one small change to the RFC. > Specifically, in order to prevent accidentally calling optional > arguments from callback locations like array_map() or array_find(), a > partial created with foo(?) will ignore any additional arguments passed > to it, and will not pass those through to the underlying function. A > partial that uses foo(?, ...) will pass through whatever it gets. > > This is mainly to avoid passing an array key from those functions to a > callback function that has an optional second parameter, which is not > intended to get a key string. In practice this is what most people > would expect would happen, but we're calling it out explicitly. (I'm > not even sure it's a behavior change from what we had before, in > practice.) > > cf: > https://wiki.php.net/rfc/partial_function_application_v2#extraneous_arguments > > It seems the discussion has quieted down and wasn't particularly > contentious to begin with (whew), so we're just about ready for a vote. > However, Arnaud went on vacation and didn't remember to tell me when > he'd be back. :-) So I'm going to wait a few more days just in case he > has any last minute comments, but start the vote either when he returns > or Monday the 28th, whichever comes first. (That gets the vote > complete before the deadline for 8.5.) > > --Larry Garfield
Hi folks. Arnaud and I have decided to hold off on the PFA vote for a while to give time to address late-arriving questions and finish off the implementation. That means it's now pushed to 8.6, and I've updated the RFC accordingly. We're not pausing though, so expect another update soon-ish. Meanwhile, if anyone else wants to weigh in on the trailing args question or repositioning parameters question, now is the time. --Larry Garfield