Semasa mempelajari bahasa yang ditafsirkan PHP, pengaturcara web pemula menemui konsep seperti pemboleh ubah semu $ ini. Tujuan dan peraturan penggunaannya dalam kod sangat berbeza dari semua pemboleh ubah lain, jadi perlu diperhatikan secara terperinci mengenai masalah ini.
Kelas dan objek
Pengaturcaraan berorientasi objek (OOP), yang telah digunakan dalam PHP sejak versi 5, menyediakan programmer dengan kemampuan untuk membuat sejumlah contoh kelas yang sama, yang disebut objek; dalam kes ini, setiap salinan yang dibuat mendapat namanya sendiri. Objek dapat mengambil data yang disebut argumen, memprosesnya dengan fungsi, dan mengembalikan hasilnya. Sebarang fungsi kelas dapat mengakses hartanahnya bukan secara langsung, tetapi hanya melalui pembinaan harta benda>, jadi timbul persoalan: bagaimana menulis kod sejagat yang akan membolehkan objek yang dihasilkan berfungsi dengan data, tanpa mengira namanya? Pertimbangkan contoh yang ditunjukkan dalam Rajah 1.
Kod ini menyatakan kelas yang mempunyai pemboleh ubah (sifat) dan dua fungsi (kaedah), salah satunya adalah pembina, iaitu secara automatik bermula apabila objek baru dibuat. Tugas fungsi konstruktor adalah untuk menetapkan data ke harta benda yang diterima oleh argumen ketika objek dibuat. Kaedah, apabila dipanggil, mengembalikan nilai harta tanah.
Seterusnya, pertimbangkan baris 12 dan 13. Di dalamnya, dua contoh kelas baru dibuat, salah satunya menerima nombor 5 sebagai argumen, dan yang lain - 7. Nilai-nilai ini ditugaskan oleh fungsi pembina kepada pemboleh ubah (harta tanah) yang hanya boleh diakses di dalam kelas. Setiap objek yang dibuat ditugaskan untuk pemboleh ubah dan sesuai (lebih tepatnya, pemboleh ubah ini hanya menerima rujukan ke objek yang ditentukan, tetapi ini tidak menjadi masalah pada masa ini). Sekarang anda boleh mendapatkan nilai harta tanah dengan panggilan kaedah mudah (baris 15 dan 16).
Menetapkan pemboleh ubah pseudo $ ini
Harap maklum: kami mempunyai dua objek yang berbeza dengan kaedah yang sama.
Dan di sinilah pseudovariable dapat menyelamatkan. Namanya boleh diterjemahkan dari bahasa Inggeris sebagai "ini", iaitu menunjukkan (adalah pautan) ke objek di mana ia berada. Akibatnya, baris 5 untuk dapat dibaca sebagai "memberikan nilai argumen ke properti objek", baris 8 - "mengembalikan nilai properti objek". Sebab, pemboleh ubah secara automatik akan mengambil nilai yang sesuai.