3

我正在使用一些旧的 PHP 代码,其中包含以下内容:

$someVar =& new SomeClass();

new运算符是否曾经返回一个值,嗯,不是通过引用?(打字感觉很奇怪。我觉得我疯了。)

4

3 回答 3

5

它是许多关于 PHP 4 中 OOP 的旧书籍中教授的那种优化技术之一。

基本上,在内存中创建的初始对象是应用程序无法访问的对象,除非您通过引用返回实例。否则,您将获得该对象的副本 - 唯一的问题是原始存在没有符号。有点傻

但是,PHP 4 中的对象创建、传递和引用是一个巨大的混乱。

于 2008-12-08T21:25:54.477 回答
4

那是PHP4代码。从文档中:(现已删除)

默认情况下,“new”不返回引用,而是返回一个副本。

[1]: http: //no.php.net/manual/en/language.oop.newref.php

于 2008-12-08T21:19:25.410 回答
1

另请参阅我的答案其中包括一个简单的代码示例来说明问题。

于 2009-01-24T13:54:57.480 回答