Bagaimana untuk memudahkan pembina kelas menggunakan Promosi Harta Pembina yang diperkenalkan dalam PHP8?
Pengenalan:
Dalam PHP8, ciri baharu Promosi Hartanah Pembina diperkenalkan, yang boleh memudahkan pembina kelas. Promosi Harta Pembina membenarkan pembangun untuk memulakan sifat secara langsung dalam pembina kelas apabila mengisytiharkannya, mengelakkan parameter pembina yang panjang dan proses memulakan sifat secara manual. Artikel ini memperincikan cara menggunakan Promosi Harta Pembina dan menyediakan contoh kod khusus.
Sintaks untuk Promosi Harta Pembina:
Dalam PHP8, anda boleh memulakan sifat kelas dalam pembina menggunakan sintaks berikut:
class ClassName { public function __construct(public Type $property, ...) { // 构造函数的其他逻辑 } }
Seperti yang anda lihat, anda kini boleh mengisytiharkan sifat terus dalam senarai parameter pembina dan nyatakan jenis mereka. Dengan cara ini, apabila membuat contoh kelas, anda hanya perlu memasukkan parameter yang diperlukan oleh pembina, dan sifat akan dimulakan secara automatik.
Contoh khusus:
Mari kita lihat penggunaan Promosi Hartanah Pembina berdasarkan kes praktikal.
Andaikan kami sedang membangunkan sistem pendaftaran pengguna yang mudah, dan kelas entiti pengguna kelihatan seperti ini:
class User { public function __construct( public string $username, public string $email, public string $password ) { // 构造函数的其他逻辑 } }
Dalam kod di atas, kami menggunakan Promosi Harta Pembina untuk memudahkan pembina kelas Pengguna. Atribut kelas dimulakan secara langsung dalam pembina, dan jenisnya ditentukan sebagai rentetan. $username
、$email
和$password
$user = new User("JohnDoe", "johndoe@example.com", "12345678"); echo "用户名:" . $user->username . " "; echo "邮箱:" . $user->email . " "; echo "密码:" . $user->password . " ";
Menggunakan Promosi Harta Pembina boleh membawa banyak faedah:
Atas ialah kandungan terperinci Bagaimana untuk memudahkan pembina kelas menggunakan Promosi Harta Pembina yang diperkenalkan dalam PHP8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!