On 26/08/2024 12:55, Jordi Boggiano wrote:
Hey Bilge,
Hi :)
On 24.08.2024 18:49, Bilge wrote:
New RFC just dropped: https://wiki.php.net/rfc/default_expression. I
think some of you might enjoy this one. Hit me with any feedback.
Great work overall, I'm all for it and even though it's not something
I saw myself using a whole lot, the json_encode example sold me on it
being more useful than I initially thought.
Thanks! I concede, this is one of those tools for your toolbox that you
will seldom reach for, but comes in very handy whenever you do.
One question (sorry if someone already asked, I scanned the thread but
it is getting long..):
I don't blame you. I'll summarise the main takeaways in the RFC later.
Taking this example from the RFC:
function g($p = null) {
f($p ?? default);
}
Could you go one step further and use default by default but still
allow null to be passed in?
function g($p = default) {
f($p);
}
No. The RFC has a very specific and singular focus in this regard: to
permit `default` /only/ in function call contexts. That is, although
`default` is a valid expression, it cannot be passed around or stored in
a variable. Since this is a function definition, rather than a call,
this will result in a compiler error. The specific error we get in this
case is: "Fatal error: Constant expression contains invalid operations".
Cheers,
Bilge