php里面的&类似于c语言里面的&,是返回当前变量在内存中的指针地址
官方论坛的例子
class foo {
public $value = 42;
public function &getValue() {
return $this->value;
}
}
$obj = new foo;
$myValue = &$obj->getValue(); // $myValue 的值是$obj->value的值,也就是 42.
$obj->value = 2;
echo $myValue; // 因为$obj->value的值改变,因此作为$obj->value的指针,其值也会变化为2
?>
Db::getInstance() 是一个静态函数,不过你可以看一看getInstance这个函数返回的什么东西。
一般来说一个静态调用在类中可以这样实现 (自己写的)
class A{
static $a = NULL;
public static function getInstance(){
if(!$a) $a=new A;
return $a;
}
public function b(){
printf("Hello World\n");
}
}
然后你可以直接调用
A::getIntance()->b();
更详细的帮助你可以参阅
http://php.net/manual/en/language.references.php