PHP 5和"&new"

xRo*_*bot 7 php

这个说法:

$node_obj =& new someClass($somearg, $moreargs);
Run Code Online (Sandbox Code Playgroud)

在最新版本的PHP中生成错误对吗?

我在我的机器上尝试过它(PHP> = 5.0.0&<= 5.2.17)并且我收到此错误:

不推荐使用:在1108行的test.php中弃用了按引用分配new的返回值

Pek*_*ica 17

删除&.

默认情况下,对象在PHP 5中作为引用传递,这就是&在此上下文中不推荐使用的原因.

  • 没有错误,但行为可能略有不同.无论如何,您不应该在当今时代使用PHP4兼容性编写脚本.PHP4多年来一直没有得到支持. (3认同)
  • 直到我从PHP 5.6升级到7.0并且我使用的几乎所有PEAR扩展开始抛出致命错误之前,我从未遇到过这种情况.解决方案与描述完全相同:在`&new ...`的所有实例中删除`&`.不幸的是,违规的PEAR库是完全最新的,因此,我需要分叉或提交补丁以继续可靠地使用它们. (2认同)