Tindakan susulan berdasarkan dokumen ini: https://www.php.net/manual/en/language.oop5.references.php
Satu perkara utama pengaturcaraan berorientasikan objek PHP yang sering disebut ialah "objek diluluskan secara rujukan secara lalai." Ini tidak sepenuhnya betul.
Dalam PHP, pembolehubah objek tidak mengandungi objek itu sendiri sebagai nilai. Ia hanya mengandungi pengecam objek yang membenarkan pengakses objek mencari objek sebenar.
Bagaimana ini sebenarnya berfungsi? Sebagai contoh, dalam C++ pengendali anak panah nampaknya secara tersirat tidak merujuk penuding dan kemudian mengakses harta itu seolah-olah ia diakses pada pembolehubah objek itu sendiri.
Beginilah cara saya memahaminya:
obj->prop (*obj).prop // Bersamaan dengan baris di atas
Ini kelihatan sangat kemas. Dalam kedua-dua kes, panggilan sifat ialah jumlah alamat pembolehubah objek dan mengimbangi sifat.
Tetapi bagaimanakah ini berfungsi dalam PHP? Dokumentasi mencadangkan bahawa penunjuk tidak menyimpan alamat memori, sebaliknya "pengecam objek". Adakah mengakses sifat dalam PHP merupakan proses yang sangat abstrak, atau adakah ia menyelesaikan pengecam objek ke alamat memori dan kemudian mengaksesnya serupa dengan C++/Java dsb.?
Ini adalah proses yang sangat abstrak, dan persamaan dalam sintaks tidak bermakna bahawa kod akan "jatuh ke" berfungsi seperti C/C++. Anda bolehmenggali koduntuk melihat cara ia berfungsi di bawah tudung.