PHP memiliki konstanta ajaib Show Contoh
Sampai PHP8. 0, konstanta ajaib _Dengan PHP8. 0, sekarang Anda dapat menggunakan
Hasil yang sama seperti $object = new Foo\Bar(); echo $object::class; // Fatal error: Cannot use ::class with dynamic class name._1Konstanta 1
Non-objek tidak diperbolehkanMenggunakan _Jika Anda perlu mendapatkan jenis variabel apa pun, PHP 8. 0 hadir dengan fungsi _5 baru yang dapat Anda panggil untuk mendapatkan nama kelas, tipe skalar, tipe sumber daya, dll semuanya dari satu fungsi praktisDampak kompatibilitas mundurDalam versi PHP sebelum 8. 0, menggunakan Terkadang Anda harus bisa mendapatkan nama kelas atau nama kelas induk dari suatu objek di PHP untuk melakukan sesuatu secara kondisional, dll. Posting ini melihat bagaimana melakukan ini Fungsi yang relevan adalah get_class() dan get_parent_class() dan keduanya dapat diberikan instance objek. Fungsi get_parent_class() juga bisa diberikan nama kelas. Keduanya kemudian akan mengembalikan nama kelas sebagai string Sebagai contoh, kita memiliki dua kelas berikut class foo { } class bar extends foo { }_ Kemudian kita membuat sebuah instance dari bar $bar = new bar;_ Kita bisa mendapatkan nama kelas dan nama kelas induk seperti itu echo get_class($bar); // will echo 'bar' echo get_parent_class($bar); // will echo 'foo' echo get_parent_class('bar'); // will also echo 'foo' Perhatikan bahwa meneruskan nama kelas sebagai string ke get_class() tidak akan mengembalikan nama kelas. Anda sudah tahu nama kelasnya jika Anda meneruskannya sebagai string sehingga tidak ada gunanya memanggilnya Jika Anda memanggil fungsi dari dalam kelas itu sendiri, Anda dapat meneruskannya $this. Misalnya, kami akan mendefinisikan ulang kelas di atas sebagai berikut Saya harus menyebutkan bahwa jika saya menjalankan tes hanya sekali (tidak ada iterasi, tetapi beberapa kali berjalan dan menghasilkan rata-rata), solusi substring adalah pemenang dalam kecepatan. (Ini mungkin karena refleksi di-cache) Kita bisa mendapatkan nama kelas namespace yang memenuhi syarat dari suatu objek dengan menggunakan fungsi
Pilihan lain adalah untuk benar-benar mendapatkan nama kelas objek dengan spasi nama yang memenuhi syarat dan mendapatkan nama kelas melalui manipulasi string
Fungsi get_class() mendapatkan nama kelas dari suatu objek. Mengembalikan FALSE jika objek bukan objek. Jika objek dikecualikan saat berada di dalam kelas, nama kelas tersebut dikembalikan Sintaksisget_class(object) Parameter
KembaliFungsi get_class() mengembalikan nama kelas dari suatu objek. Mengembalikan FALSE jika objek bukan objek. Jika objek dikecualikan saat berada di dalam kelas, nama kelas tersebut dikembalikan |