> On 23 Aug 2024, at 22:49, Rowan Tommins [IMSoP] <imsop....@rwec.co.uk> wrote:
>
>
>
> On 23 August 2024 15:04:32 BST, Stephen Reay <php-li...@koalephant.com> wrote:
>>
>> I stand by the rest of my argument though. This entire ridiculous discussion
>> about a huge BC break that introduces bizarre inconsistencies, is 100%
>> because a handful of people don't want to type `\`.
>
> Again, I'm not sure which straw man you're attacking.
I'm not attacking any straw man. I'm calling out the absolutely absurdity of
breaking code that has worked for 15 years based on the claim that some people
don't want to type a leading backslash. That isn't *my* claim, that's the claim
of the original email.
> The largest BC break would be to require users to type the leading backslash,
So don't then. If people want to rely on the exist fallback as it has existed
for 15 years, and don't care about the performance penalty, let them.
> in exchange for removing the current "bizarre inconsistencies" and making
> functions resolve the same way as classes.
The current inconsistencies between symbol types can be avoided in userland in
a 100% consistent way. Import or qualify the symbols you use, all the time, and
you have 0 inconsistencies or bizarreness in terms of what it used when.
Regardless of the specific flavour, swapping the lookup order for *some*
symbols to look for global symbols when making unqualified references
introduces a hard inconsistency that cannot be rectified in userland, and some
flavours (i.e. the original proposal) introduce ongoing-forever BC breakage
issues.
> Other proposals aim to shift that balance - leaving some inconsistency, but
> less compatibility break.
Great, how about the solution that doesn't have any BC, and works in every
version back to 5.3?
>
> And most users don't object to using a leading backslash
Once again, I didn't claim most users object. I was specifically pointing out
that a small number of people complaining about this is a ridiculous reason to
even consider the change. Hell the original issue that Ilija referenced makes
this outrageous claim, so perhaps direct your "most users" response at the
person claiming to represent the views of *all* users on the planet:
> All PHP projects in the World are a bit slower than they could be...
> , they just (quite reasonably) have no idea what impact it has on the ability
> of the engine to optimise their code.
Great, so then we can resolve this whole thing by adding a footnote to the
"Name resolution rules" page in the manual that (a) recommends using qualified
names (i.e. prefix with a `\`) and (b) provides deeper details of the reasons
for those who care.
>
> Regards,
> Rowan Tommins
> [IMSoP]
>