php中的类前面的"&"是什么意思?

thi*_*yup 2 php

我刚刚在PHP中继承了这段代码,似乎对googles api进行了某种web服务调用.我不是PHP的专家,我有一些语法问题,具体涉及以下行$ soapClients =&APIlityClients :: getClients();

我理解双"::"表示APIlityClients是一个静态类,但我不确定APIlityClients前面的"&"是什么意思.

Ala*_*orm 5

当您在PHP中使用变量前面的&符号时,您将创建对该变量的引用.

$foo = 'bar';
$baz = &$foo;

echo $foo //bar
echo $baz //bar

$foo = 'foobazbar';
echo $foo //foobazbar
echo $baz //foobazbar
Run Code Online (Sandbox Code Playgroud)

此前PHP5,当你从PHP中的类创建的对象,该对象将被传递到其他变量的值.该对象不是引用,这是大多数其他面向对象(Java,C#等)语言的标准.

但是,通过在其前面实例化一个带有&符号的类,您可以创建对返回对象的引用,并且它的行为类似于其他语言中的对象.这是PHP5之前的常用技术,可以实现OOP效果和/或提高性能.