我正在使用一些有很多以下内容的旧PHP代码:
$someVar =& new SomeClass();
新运算符是否曾经返回一个值,嗯,不是通过引用? (打字感觉很奇怪。我觉得我正在失去理智。)
答案 0 :(得分:5)
这是PHP 4中关于OOP的许多旧书中教授的那种优化技术之一。
基本上,在内存中创建的初始对象是应用程序无法访问的对象,除非您通过引用返回实例。否则你得到一个对象的副本 - 唯一的问题是原始文件没有符号。有点傻。
但是,PHP 4中的对象创建和传递以及引用是一个巨大的混乱。
答案 1 :(得分:4)
这就是PHP4代码。 从文档:(现已删除)
“new”不会返回引用 默认情况下,它会返回一个副本。
答案 2 :(得分:1)
另请参阅我的回答here,其中包含一个简单的代码示例来说明问题。