更新:在
它说:
常被提及的 PHP5 OOP 的关键点之一是“对象默认通过引用传递”。这并不完全正确。
这是为什么?以下是我不知道是否完全正确的原因:
我认为松散地说,foo 可以说是一个对象,或者类 Foo 的一个实例。
但是从技术上讲,foo 只是一个引用,这在 Java 和 Ruby 中的方式完全相同,其中变量foo
始终只是对对象的引用,这是真的吗?
这就是为什么在 PHP 中,
function add($obj) {
$obj->a++;
}
我们没有说“通过引用传递”,但从技术上讲,我们是在传递一个值,这是一个引用。因此,它是“通过引用”,而不是“通过引用”。
但是,如果我们在 PHP 中说 foo 是一个对象,那么我想“通过引用传递”是有道理的。这是真的吗?foo 据说是对对象的引用,而不是对象,所以这就是为什么我们只是“按值传递”?