1. Apakah itu pengaturcaraan generik
Pengaturcaraan generik merujuk kepada pelaksanaan jenis data biasa dalam bahasa pengaturcaraan, supaya jenis data ini boleh digunakan pada jenis data yang berbeza, dengan itu merealisasikan kod Boleh Digunakan Semula dan cekap .
PHP ialah bahasa yang ditaip secara dinamik Ia tidak mempunyai mekanisme jenis yang kuat seperti C++, Java dan bahasa lain, jadi tidak mudah untuk melaksanakan pengaturcaraan generik dalam PHP.
2. Pengaturcaraan generik dalam PHP
Terdapat dua cara untuk melaksanakan pengaturcaraan generik dalam PHP: menggunakan antara muka dan menggunakan ciri.
Mencipta antara muka generik dalam PHP memerlukan penggunaan dua kata kunci: antara muka dan Pemegang Tempat Generik. Berikut ialah contoh mudah:
interface CollectionInterface { public function add($element); public function remove($element); public function contains($element): bool; public function size(): int; } class ArrayCollection implements CollectionInterface { private $elements = []; public function add($element) { $this->elements[] = $element; } public function remove($element) { if (($key = array_search($element, $this->elements, true)) !== false) { unset($this->elements[$key]); } } public function contains($element): bool { return in_array($element, $this->elements, true); } public function size(): int { return count($this->elements); } }
Dalam contoh ini, antara muka CollectionInterface digunakan untuk mentakrifkan antara muka koleksi umum, dan kemudian kami melaksanakan kelas ArrayCollection untuk melaksanakan antara muka CollectionInterface Kelas ini boleh digunakan untuk memanipulasi sebarang jenis data.
Trait ialah ciri bahasa baharu dalam PHP7, yang boleh digunakan untuk menerangkan tingkah laku biasa kelas, mengelakkan pertindihan kod dan menambah baik penggunaan semula kod prestasi dan kebolehselenggaraan. Berikut ialah kes mudah:
trait CollectionTrait { private $elements = []; public function add($element) { $this->elements[] = $element; } public function remove($element) { if (($key = array_search($element, $this->elements, true)) !== false) { unset($this->elements[$key]); } } public function contains($element): bool { return in_array($element, $this->elements, true); } public function size(): int { return count($this->elements); } } class ArrayCollection { use CollectionTrait; }
Dalam contoh ini, CollectionTrait Trait digunakan untuk melaksanakan gelagat biasa koleksi, dan kemudian kami menggunakannya dalam kelas ArrayCollection untuk melaksanakan gelagat biasa kelas, mencapai Untuk tujuan penggunaan semula kod dan kebolehselenggaraan.
3. Aplikasi Pengaturcaraan Generik
Senario aplikasi pengaturcaraan generik dalam PHP:
4. Kelebihan pengaturcaraan generik
5 Ringkasan
Walaupun pengaturcaraan generik dalam PHP tidak mempunyai mekanisme jenis yang berkuasa seperti C++, Java dan bahasa lain, masih terdapat banyak senario di mana teknologi pengaturcaraan generik boleh digunakan. , meningkatkan kebolehgunaan semula kod, kebolehselenggaraan dan kecekapan program, dan mengelakkan pertindihan kod. Menggunakan pengaturcaraan generik boleh menjadikan program lebih cekap, modular dan boleh diselenggara.
Atas ialah kandungan terperinci Pengaturcaraan generik dalam PHP dan aplikasinya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!