note 90234 modified in userlandnaming by danbrown

From: Date: Sat, 11 Apr 2009 17:36:02 +0000
Subject: note 90234 modified in userlandnaming by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-153090@lists.php.net to get a copy of this message
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!"; } ñ(); ?> --was-- 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. <? 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!"; } ñ(); ?> http://php.net/manual/en/userlandnaming.php

« previous php.notes (#153090) next »