'new'关键字之前&符号的&符号是什么意思?

jlb*_*jlb 6 php oop

你为什么要这样做?

$a = &new <someclass>();
Run Code Online (Sandbox Code Playgroud)

例如,SimpleTest的SimpleBrowser文档使用此语法(http://www.simpletest.org/en/browser_documentation.html).

$browser = &new SimpleBrowser();
Run Code Online (Sandbox Code Playgroud)

对此有用吗?这是PHP 4的遗物吗?

编辑:

我理解&符号通过引用返回,但是通过引用返回对象的新实例有什么意义呢?

mil*_*ose 3

在 PHP5 中,对象是使用不透明对象句柄传递的。您仍然可以引用持有此类句柄的变量并为其赋予另一个值;这就是&newPHP5 中该构造的作用。尽管 \xe2\x80\x93 似乎并不是特别有用,除非您显式克隆它,否则只有一个特定对象实例的副本,并且您可以在实例化后随时引用它的句柄,如果你想要。&new所以我的猜测是,您发现的代码是必要模式时的延续。

\n