The specified permitted characters in variable names (including the first character) are somewhat more permissive than you might expect.
The specified regex is [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* (from ./functions.user-defined.php)
On running the following you can see those outside of [a-zA-Z0-9_] that work. Your browser/shell may not display all properly, and some editors (I tested in Textmate) may simply remove things it doesn't grok as whitespace. However, there are some pretty sexy characters in there should you be looking for a unique namespace which is not too lengthy. Using them can be inconvenient for others who may not have a suitable keyboard for single-stroke entry (mine is Spanish). Best used for a program's internally relevant methods - which are those we wish least to pollute a namespace.
<?php
header('Content-type:text/plain; charset=utf-8');
function unichr($u) {
return mb_convert_encoding('&#'.intval($u).';', 'UTF-8', 'HTML-ENTITIES');
}
for($i = hexdec("7f"); $i <= hexdec("ff"); $i++) echo unichr($i)."\n";
// simple example
function ñ(){
echo "I'm ok!";
}
ñ();
?>
Annexe R. Guide de nommage de l'espace utilisateur
- Table des matières
- Espace de noms global
- R�gles
- Astuces
Ce guide permet de choisir de la meilleure fa�on possible les noms pour les identifiants dans le code PHP de l'espace utilisateur. Lors du choix des noms pour n'importe quel code qui cr�e des symboles dans l'espace de noms global, il est important de prendre en compte ce guide afin d'�viter d'�ventuels probl�mes avec les futures versions de PHP et vos symboles.
Espace de noms global
Ceci est une vude la construction du code qui ira dans l'espace de noms global :
fonctions
classes
interfaces
constantes (et non les constantes de classe)
variables d�finies � l'ext�rieur des fonctions/m�thodes
clancy hood at gmail dot com
11-Apr-2009 10:15
