


Contoh ciri baharu dalam PHP8: Bagaimana untuk menggunakan potongan atribut dan kod untuk mengurangkan kod pendua?
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
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.
- null coalescing operator
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma