Rumah >pembangunan bahagian belakang >tutorial php >Bila hendak menggunakan `::` lwn. `->` untuk Akses Kaedah dalam PHP?
` untuk Akses Kaedah dalam PHP?
" />
Mentafsir :: (Double Colon) lwn. -> (Anak panah) dalam PHP
Dalam PHP, mengakses kaedah kelas boleh dilakukan dalam dua berbeza cara: :: (bertitik dua) dan -> perbezaan.
Skop dan Penggunaan
Faktor utama yang menentukan pengendali yang sesuai ialah konteks di mana ia digunakan, contohnya, sifat dan kaedah bukan statik , -> digunakan Sebaliknya, untuk ahli kelas, seperti sifat statik dan kaedah, :: adalah pilihan operator.
Tafsiran Sintaksis
Apabila operan kiri -> adalah contoh objek, ia menandakan bahawa kaedah yang diakses adalah milik contoh itu. :: mencadangkan bahawa kaedah itu digunakan pada kelas itu sendiri, bukannya khusus instance.
Akses Ahli Statik
Secara amnya, :: digunakan untuk akses ahli statik Walau bagaimanapun, dalam kes yang jarang berlaku, :: juga boleh digunakan untuk mengakses ahli instance . Contohnya ialah apabila mengakses pelaksanaan kelas induk bagi kaedah contoh dari dalam kelas terbitan.
Panggilan Kaedah Semantik
Semantik -> pengendali adalah lebih kompleks daripada ::. Panggilan melalui -> menghasilkan panggilan contoh jika kedua-dua kaedah sasaran tidak diisytiharkan sebagai statik dan wujud konteks objek yang serasi. Jika tidak, ia dianggap sebagai panggilan statik.
Contoh
Pertimbangkan coretan kod berikut:
class A { public $prop_instance; public function func_instance() { echo "in ", __METHOD__, "\n"; } } class B extends A { public static $prop_static; public function func_static() { echo "in ", __METHOD__, "\n"; } } $a = new A; $b = new B; echo '$a->prop_instance: ', $a->prop_instance, "\n"; echo 'B::$prop_static: ', B::$prop_static, "\n"; $b->func_instance(); B::func_static();
Output:
$a->prop_instance: B::$prop_static: in B::func_instance in B::func_static
Penggunaan konsisten -> contohnya ahli dan :: untuk ahli statik memastikan kejelasan dan menghalang tafsiran yang tidak jelas.
Atas ialah kandungan terperinci Bila hendak menggunakan `::` lwn. `->` untuk Akses Kaedah dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!