更新: で
それは言います:
よく言及される PHP5 OOP のキーポイントの 1 つは、「オブジェクトはデフォルトで参照によって渡される」ということです。これは完全に真実ではありません。
何故ですか?以下は、完全に正しいかどうかわからない理由です。
大まかに言えば、foo はオブジェクト、またはクラス Foo のインスタンスと言えると思います。
しかし、非常に技術的に言えば、foo は単なる参照であり、変数foo
が常にオブジェクトへの参照である Java や Ruby とまったく同じ方法であるというのは本当ですか。
そのため、PHP では、
function add($obj) {
$obj->a++;
}
「参照渡し」とは言いませんが、非常に技術的に言えば、参照である値を渡しています。つまり、「参照渡し」ではなく「参照渡し」です。
しかし、PHP で foo がオブジェクトであると言うなら、「参照渡し」は理にかなっていると思います。それで本当ですか?foo は、オブジェクトではなくオブジェクトへの参照であると言われているため、「値渡し」しているだけなのでしょうか?