PHP8 ialah versi terbaru bahasa pengaturcaraan PHP, dikeluarkan secara rasmi pada 26 November 2020. Sebagai bahasa yang digunakan secara meluas dalam pembangunan web, PHP8 membawa banyak ciri baharu yang menarik, termasuk inferens harta dan keupayaan pengurangan kod. Artikel ini akan memperkenalkan beberapa contoh cara menggunakan ciri baharu ini.
1. Derivasi atribut
Dalam versi PHP yang lalu, kami perlu mentakrifkan kaedah pengambil dan penetap secara manual untuk atribut kelas untuk mengakses dan mengubah suai atribut. Tetapi dalam PHP8, kita boleh menggunakan potongan atribut untuk memudahkan proses ini.
Pertimbangkan contoh berikut, kami mencipta kelas Orang dengan dua sifat: nama dan umur:
class Person { public string $name; public int $age; public function getName(): string { return $this->name; } public function setName(string $name): void { $this->name = $name; } public function getAge(): int { return $this->age; } public function setAge(int $age): void { $this->age = $age; } }
Dalam PHP8, kami boleh menggunakan terbitan sifat untuk memudahkan kod ini:
class Person { public function __construct( public string $name, public int $age, ) {} }
Dengan menggunakan terbitan sifat, kami boleh Tentukan sifat secara langsung daripada kelas dalam pembina, dan abaikan takrif kaedah getter dan setter. Kini, kita boleh membuat instantiate kelas Person dan mengakses sifat dengan cara berikut:
$person = new Person('John Doe', 25); echo $person->name; // 输出:John Doe echo $person->age; // 输出:25
Seperti yang anda lihat, menggunakan terbitan sifat sangat memudahkan struktur kod dan mengurangkan penulisan kod berlebihan.
2. Kurangkan pertindihan kod
Dalam PHP8, kami juga telah memperkenalkan beberapa fungsi dan fungsi baharu yang boleh digunakan untuk mengurangkan pertindihan kod. Dua daripada ciri ini akan diperkenalkan di bawah: parameter bernama dan pengendali penggabungan nol.
Parameter bernama bermakna apabila fungsi atau kaedah dipanggil, nilai parameter boleh dihantar dengan menentukan nama parameter. Ini mengurangkan pergantungan pada lokasi parameter dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod.
Pertimbangkan contoh berikut, kami mempunyai fungsi yang mengira jumlah dua nombor:
function sum(int $a, int $b): int { return $a + $b; } echo sum(5, 10); // 输出:15
Dalam versi sebelumnya, kami perlu menghantar nilai parameter dalam susunan fungsi itu ditakrifkan. Tetapi dalam PHP8, kita boleh menggunakan parameter bernama untuk memanggil fungsi:
echo sum(b: 5, a: 10); // 输出:15
Dengan menentukan nama parameter, kita boleh menghantar nilai parameter dalam sebarang susunan, menjadikan kod lebih intuitif dan boleh dibaca.
Dalam PHP, kita selalunya perlu menyemak sama ada pembolehubah adalah nol dan memberikan nilai lalai jika ia adalah null. Dalam versi sebelumnya, kami biasanya menggunakan operator ternary atau pernyataan if untuk mencapai fungsi ini.
Pertimbangkan contoh berikut, kita perlu menyemak sama ada pembolehubah adalah nol dan menyediakannya dengan nilai lalai:
$username = isset($_GET['username']) ? $_GET['username'] : 'Guest';
Dalam PHP8, kita boleh menggunakan operator penggabungan nol (??) untuk memudahkan kod ini:
$username = $_GET['username'] ?? 'Guest';
Jika $ Jika _GET['username'] bukan batal, tetapkan nilainya kepada $username jika tidak, tetapkan 'Tetamu' kepada $username;
Selain contoh di atas, PHP8 juga memperkenalkan beberapa ciri baharu yang lain, seperti ungkapan padanan, pengisytiharan jenis pulangan statik, dsb. Ciri ini telah meningkatkan fungsi dan fleksibiliti PHP dengan banyak.
Ringkasan:
Artikel ini memperkenalkan dua ciri baharu dalam PHP8: potongan atribut dan pengurangan kod kepada kod pendua. Derivasi harta menjadikan penentuan sifat kelas lebih ringkas dan intuitif, mengurangkan penulisan kaedah pengambil dan penetap yang berlebihan. Kedua-dua fungsi parameter yang dinamakan dan operator penggabungan nol meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Dengan keluaran PHP8, kami akan dapat menulis kod PHP yang ringkas dan cekap dengan lebih mudah.
Atas ialah kandungan terperinci Contoh ciri baharu dalam PHP8: Bagaimana untuk menggunakan potongan atribut dan kod untuk mengurangkan kod pendua?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!