Memahami Notasi ::class PHP
Notasi ::class dalam PHP ialah ciri berkuasa yang membolehkan anda mendapatkan nama yang layak sepenuhnya sesuatu kelas, termasuk ruang namanya. Diperkenalkan dalam PHP 5.5, tatatanda ini memberikan kelebihan ketara dalam kebolehbacaan kod, pemfaktoran semula dan pengikatan statik lewat.
Faedah Menggunakan ::class
Terdapat beberapa kelebihan untuk menggunakan :: notasi kelas:
Sintaks dan Penggunaan
Sintaks ::class adalah mudah:
SomeClass::class
Notasi ini akan mengembalikan nama SomeClass yang layak sepenuhnya, termasuk awalan ruang namanya.
Contoh
Pertimbangkan perkara berikut contoh:
protected $commands = [ \App\Console\Commands\Inspire::class, ];
Menggunakan ::class menghapuskan keperluan untuk nama kelas berkod keras, menjadikannya lebih mudah untuk mengekalkan dan mengemas kini tatasusunan arahan.
Contoh Pengikatan Statik Lewat
Contoh berikut menunjukkan pengikatan statik lewat menggunakan ::class tatatanda:
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
Seperti yang anda lihat, kaedah getRealClassName() dalam kelas induk A menggunakan static::class untuk mendapatkan nama kelas terbitan B, menunjukkan faedah pengikatan statik lewat.
Atas ialah kandungan terperinci Apakah Faedah dan Penggunaan Notasi `::class` PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!