PHP allows Unicode identifiers for variables, functions, classes and constants anyhow. It was certainly intended for localized applications. Wether it's a good idea to code an API in anything but English is debatable, but it's undisputed that some development settings could demand it.
$Schüssel = new Müsli(T_FRÜCHTE);
But PHP allows more than just \p{L}
for identifiers. You can use virtually any Unicode character, except those from the ASCII range (e.g. :
is special or \
as that's already used as internal hack to support namespaces.)
Anyway, you could do so, and I would even consider that a workable use for fun projects:
throw new ಠ_ಠ("told you about the disk space before");
But other than localization and amusement and decorative effects, which uses of Unicode identifiers are advisable?
For example I'm pondering this for embedding parameters into magic method names. In my case I only need to inject numeric parameters, so would get away with just the underscore:
$what->substr_0_50->ascii("text");
// (Let's skip the evilness discussion this time. Not quite sure
// yet if I really want it, but the conciseness might make sense.)
But if I wanted to embed other textual parameters, I would require another unicode character. Now that's harder to type, but if there's one that would aid readability and convey the meaning ... ?
->substr✉0✉50-> // doesn't look good
So, the question in this case: Which symbol makes sense as separator for mixed-in parameters in a virtual function name. -- Broader meta topic: Which uses of Unicode identifiers do you know about, or would you consider okayish?