PHP, $ zaman foo = new Foo (), teknik olarak, $ foo bir nesne, ya $ foo bir referans olduğunu?

0 Cevap php

Update: in

http://php.net/manual/en/language.oop5.references.php

it says:

One of the key-points of PHP5 OOP that is often mentioned is that "objects are passed by references by default". This is not completely true.

Why is that? The following is a reason which I don't know is completely true or not:

Ben gevşek konuşma, foo bir nesne veya sınıf Foo bir örneği olduğu söylenebilir düşünüyorum.

Ama çok teknik konuşan, foo sadece bir referans, Java ve Ruby, değişken foo, her zaman bir nesneye sadece bir referanstır. Içinde tam olarak aynı şekilde olduğu doğrudur

Böylece, PHP yüzden

function add($obj) {
  $obj->a++;
}

Biz, "referans olarak geçmek" demiyorum, ama çok teknik olarak, bir referans olan, bir değer geçiyor. Yani, "the reference", not "passing by referans geçiyor" dir.

Biz PHP söylüyorlar Ama, eğer, o foo sonra "referans geçirerek" mantıklı sanırım, bir nesnedir. Yani doğru mu? foo bir nesne değil, bir nesne için bir referans olduğu söyleniyor, böylece biz sadece "değeriyle geçirmeden" neden o olduğunu?

0 Cevap