Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memudahkan pembina kelas melalui Promosi Harta Pembina dalam PHP8?

Bagaimana untuk memudahkan pembina kelas melalui Promosi Harta Pembina dalam PHP8?

WBOY
WBOYasal
2023-10-18 10:51:191369semak imbas

PHP8中如何通过Constructor Property Promotion简化类的构造函数?

Bagaimana untuk memudahkan pembina kelas melalui Promosi Harta Pembina dalam PHP8?

Dalam PHP8, ciri Promosi Harta Pembina telah diperkenalkan, yang menjadikan pembina kelas penulisan lebih ringkas dan cekap. Ciri ini boleh mengurangkan kod berlebihan dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Artikel ini akan memperkenalkan penggunaan Promosi Harta Pembina secara terperinci dan menunjukkan peranannya dalam memudahkan pembina melalui contoh kod tertentu.

Sebelum memperkenalkan Promosi Harta Pembina, mari kita lihat dahulu pembina kelas PHP tradisional:

class User {
    private string $name;
    private int $age;
    private string $email;

    public function __construct(string $name, int $age, string $email) {
        $this->name = $name;
        $this->age = $age;
        $this->email = $email;
    }
}

Kod di atas mentakrifkan kelas bernama Pengguna, yang mempunyai tiga sifat peribadi: nama, umur dan e-mel. Pembina menerima ketiga-tiga sifat ini dan memberikannya kepada sifat yang sepadan. Pendekatan ini boleh kelihatan berlebihan apabila terdapat banyak atribut, dan sukar untuk dibaca dan dikekalkan.

Dalam PHP8, kami boleh menggunakan Promosi Harta Pembina untuk memudahkan kod di atas. Promosi Harta Pembina membenarkan sifat kelas ditakrifkan secara langsung dalam senarai parameter pembina. Berikut ialah contoh kelas Pengguna yang ditulis semula menggunakan Promosi Harta Pembina:

class User {
    public function __construct(private string $name, private int $age, private string $email) {
    }
}

Takrifan pembina yang dipermudahkan ini hanya mengandungi pengisytiharan tiga sifat dan menggunakannya sebagai parameter pembina. Di sini, kita tidak perlu lagi mencipta sifat persendirian secara manual dan logik tugasan yang sepadan untuk setiap harta, kerana operasi ini dinaikkan pangkat kepada pembina.

Menggunakan Promosi Harta Pembina mempunyai faedah berikut:

  1. Memudahkan pembina kelas: Menggunakan Promosi Harta Pembina, kita boleh menulis definisi dan tugasan harta dalam senarai parameter pembina, menghapuskan lebihan di dalam pembina kod. Ini menjadikan pembina lebih intuitif dan boleh dibaca.
  2. Kod ini lebih ringkas: tidak perlu lagi mencipta sifat peribadi dan logik penugasan yang sepadan untuk setiap harta, mengurangkan jumlah kod. Ini akan meningkatkan kebolehbacaan dan kebolehselenggaraan kod dan mengurangkan kemungkinan ralat.
  3. Memulakan berbilang sifat pada masa yang sama: Dalam pembina tradisional, jika anda ingin memulakan berbilang sifat, anda perlu menetapkan nilai satu demi satu. Menggunakan Promosi Harta Pembina, kami boleh mengisytiharkan dan menetapkan berbilang sifat pada satu masa di satu tempat.

Selain contoh di atas, Promosi Harta Pembina juga menyokong jenis hartanah lain, seperti: sifat awam, dilindungi dan statik. Kita boleh menggunakan jenis harta yang berbeza ini dalam pembina seperti yang diperlukan.

Perlu diingat bahawa Promosi Harta Pembina ialah ciri baharu dalam PHP8, jadi ia tidak boleh digunakan dalam versi PHP yang lebih lama. Jika anda perlu menulis kod serupa dalam PHP7.x atau lebih awal, anda masih perlu menulis pembina dengan cara tradisional.

Ringkasnya, Promosi Harta Pembina ialah ciri penting yang diperkenalkan dalam PHP8, yang boleh memudahkan pembina kelas. Menggunakan Promosi Harta Pembina, kami dapat mengurangkan kod berlebihan dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Ciri ini boleh membantu kami mengendalikan tugasan harta dalam pembina dengan lebih cekap apabila mentakrifkan kelas, menjadikan kod lebih ringkas dan lebih mudah difahami.

Atas ialah kandungan terperinci Bagaimana untuk memudahkan pembina kelas melalui Promosi Harta Pembina dalam PHP8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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