Re:25 Years of PHP [video]
by viraptor on Sunday September 08, 2019 @10:22PM
(#20914720)
It's not an either/or. Those signatures are inconsistent and there's a reason they were made that way. It could be done another way. (detecting the type of parameters or having a different name for the callback version)
[ Parent
| on HN ]
Re:25 Years of PHP [video]
by kristopolous on Monday September 09, 2019 @01:02AM
(#20915332)
Why not just let the type system figure it out in this instance?
Because php has no function overloading by type system.
Re:25 Years of PHP [video]
by kristopolous on Monday September 09, 2019 @04:41AM
(#20916272)
The type can trivially be checked inside the function. You don't need type system function overloading
but this has runtime cost, where inconsistent order doesn't
Re:25 Years of PHP [video]
by kristopolous on Monday September 09, 2019 @05:06PM
(#20922483)
Not necessarily. Unless someone is intentionally trying to be confusing, the parameter order will be consistent for a specific instantiation.
I mean that if it's array,function at line X this time, it will be next time - again, unless you are trying to intentionally break this rule through a coding acrobatics exercise.
Since it's now known (with relative confidence), it can be optimized.
If someone truly is doing wacky things then we are left exactly where we were beforehand, with a broken system. Most of the time, however, it'd be better