Apakah itu PHP ::Notasi kelas dan Bagaimana Ia Memudahkan Pengendalian Kelas?

Patricia Arquette
Lepaskan: 2024-11-22 06:09:13
asal
288 orang telah melayarinya

What is the PHP ::class Notation and How Does it Simplify Class Handling?

Notasi ::class dalam PHP: Penjelasan Komprehensif

Notasi ::class dalam PHP ialah tambahan yang agak baru kepada bahasa , diperkenalkan dalam versi 5.5. Notasi ini membolehkan anda mendapatkan semula nama kelas yang layak sepenuhnya, termasuk ruang namanya.

Cara Menggunakan ::class

Untuk menggunakan notasi ::class, hanya tulis nama kelas diikuti dengan akhiran ::class:

SomeClass::class
Salin selepas log masuk

Ini akan mengembalikan nama penuh kelas, seperti sebagai:

App\Console\Commands\Inspire
Salin selepas log masuk

Faedah Menggunakan ::class

Notasi ::class menawarkan beberapa kelebihan berbanding kaedah tradisional untuk menyimpan nama kelas:

  • Menghapuskan keperluan untuk literal rentetan: Daripada menyimpan nama kelas sebagai rentetan, anda boleh menggunakan :: notasi kelas, yang secara automatik akan menjana nama layak sepenuhnya yang betul. Ini menjadikan kod anda lebih mantap dan kurang terdedah kepada ralat.
  • Meningkatkan pemfaktoran semula IDE: Banyak IDE boleh memanfaatkan notasi kelas :: untuk melengkapkan nama kelas secara automatik dan mengemas kininya dengan betul semasa pemfaktoran semula kod .
  • Memudahkan penggunaan dengan kata kunci penggunaan: Anda boleh gunakan kata kunci penggunaan untuk nama kelas alias, menjadikannya lebih mudah untuk bekerja dengan mereka dalam kod anda. Contohnya:
use App\Console\Commands\Inspire;

//...

protected $commands = [
    Inspire::class, // Equivalent to "App\Console\Commands\Inspire"
];
Salin selepas log masuk

Aplikasi Tambahan ::class

Selain fungsi utamanya, notasi ::class juga boleh digunakan untuk pengikatan statik lewat, teknik di mana nama kelas terbitan diselesaikan di dalam kelas induk. Ini boleh dicapai dengan menggunakan sintaks static::class:

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
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah itu PHP ::Notasi kelas dan Bagaimana Ia Memudahkan Pengendalian Kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan