Re: [Concept] declare(strict_identifiers=1)
| From: | Rowan Tommins [IMSoP] | Date: | Thu, 27 Aug 2026 15:42:13 +0000 |
| Subject: | Re: [Concept] declare(strict_identifiers=1) | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-132365@lists.php.net to get a copy of this message | ||
Hi Luca,
On 26 August 2026 16:15:08 BST, "otzelot2021@outlook.de" <otzelot2021@outlook.de>
wrote:
>... well-formed UTF-8, UAX31-R1-2 with the standard
>Default-Ignorable Exclusion Profile, and NFC required rather than
>applied
A couple of people have touched on this, but I don't think it's been directly addressed,
so I'll ask it more explicitly: what do these terms mean?
- UAX31-R1-2
- the standard Default-Ignorable Exclusion Profile
- NFC
I think that's important context for this discussion, but it's also relevant to the
eventual user experience: what is the summary that goes into the manual and error messages?
"Class name doesn't meet UAX31-R1-2" would be about as meaningful to most people as
the infamous "Unexpected T_PAAMAYIM_NEKUDOTAYIM".
The other thing that I'm not entirely clear on is how much of this is or should be about
*rejecting* names, and how much about *normalising* them - bearing in mind we already perform some
normalisation in the form of ASCII case folding.
Perhaps we need to step back and define the *problem statement* more clearly, rather than starting
with a *solution* and trying to define its benefits?
Regards,
Rowan Tommins
[IMSoP]