SunshinePHP Developer Conference 2015

用户空间命名指南

Table of Contents

以下是在用户空间 PHP 代码中怎样最佳选择标识符名称的指南。当在全局命名空间中选择创建的符号名称时,要考虑到以下指导方针以免未来的 PHP 版本破坏掉用户使用的符号名称。

add a note add a note

User Contributed Notes 1 note

up
-1
clancy hood at gmail dot com
5 years ago
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!";
    }
   
   
ñ();

?>
To Top