PHPの戻り参照(メソッド名に&)とローカル静的変数(static)


まず、マニュアル===============を参照してください.関数の宣言と戻り値の変数への割り当てに参照オペレータを使用する必要があります.
例17-13.関数から参照を返す
<?php  
function &returns_reference()  
{  
    $someref = 0;  
    return $someref;  
}  
  
$newref = &returns_reference();//    $newref = &$someref;  
?>

参照の詳細については、参照の説明を参照してください.
多くのオープンソースコードが好きな単例登録モードを見てみましょう
class a{}  
class b{}  
function & aa($name)  
{  
    static $class = array(); //                                          
    if(!$class[$name])       //        /                  
    {                        //         ,            value  
        $class[$name] = new $name();  
    }  
    return $class[$name];  
}  
$a = & aa('a');  
$b = & aa('b');  
  
$a2 = & aa('a');  
$b2 = & aa('b');  
  
echo $a === $a2 ? '$a $a2         <br/>' : '';  
echo $b === $b2 ? '$b $b2         ' : '';