Memahami ::class dalam PHP: Alat Serbaguna untuk Manipulasi Kelas
Ramai pembangun mungkin tidak biasa dengan misteri :: class notasi dalam PHP kerana sifat samarnya. Mari kita mendalami apa itu dan bagaimana ia memberi manfaat kepada pembangun.
Apakah itu ::class?
Sintaks ::class dalam PHP membolehkan kami untuk mendapatkan semula nama kelas yang layak sepenuhnya, termasuk ruang namanya. Ciri ini telah diperkenalkan dalam PHP 5.5.
Kelebihan Menggunakan ::class
Notasi ini menawarkan dua kelebihan utama:
use \App\Console\Commands\Inspire; //... protected $commands = [ Inspire::class, // Equivalent to "App\Console\Commands\Inspire" ];
Faedah Tambahan
Selain kelebihan yang disebutkan di atas, notasi ::class juga memainkan peranan penting dalam Pengikatan Statik Lewat. Tidak seperti CLASS pemalar ajaib, static::class membolehkan pengambilan semula nama kelas semasa dalam kelas induk. Pembezaan ini amat berguna apabila berurusan dengan warisan kelas.
Contoh: Pengikatan Statik Lewat
class A { public function getClassName(){ return __CLASS__; } public function getRealClassName() { return static::class; } } class B extends A {} $a = new A; $b = new B; echo $a->getClassName(); // A echo $a->getRealClassName(); // A echo $b->getClassName(); // A echo $b->getRealClassName(); // B
Atas ialah kandungan terperinci Apakah `::class` PHP dan Bagaimana Ia Meningkatkan Kejelasan dan Pengurusan Kod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!