


Cara menggunakan mod sifat atau gabungan untuk melaksanakan berbilang warisan dalam PHP
Warisan kelas PHP hanya boleh menjadi warisan tunggal, bukan warisan berbilang Jika anda ingin melaksanakan warisan berbilang, anda boleh menggunakan kaedah antara muka untuk melaksanakan warisan berbilang Walau bagaimanapun, jika anda tidak mahu menggunakan kaedah antara muka warisan berbilang, anda boleh mempertimbangkan untuk menggunakan Ciri dilaksanakan, dan sudah tentu, ia juga boleh dilaksanakan menggunakan corak gubahan.
Trait ialah kaedah penggunaan semula kod baharu dalam PHP 5.4 Trait ialah mekanisme penggunaan semula kod yang disediakan untuk bahasa warisan tunggal seperti PHP. Ciri-ciri direka untuk mengurangkan batasan bahasa warisan tunggal dan membenarkan pembangun menggunakan semula kaedah secara bebas dalam kelas bebas dalam hierarki yang berbeza. Semantik komposisi Trait dan Kelas mentakrifkan cara untuk mengurangkan kerumitan dan mengelakkan masalah biasa yang berkaitan dengan warisan berbilang tradisional dan kelas Mixin.
Sifat adalah serupa dengan Kelas, tetapi hanya direka bentuk untuk menggabungkan fungsi dengan cara yang terperinci dan konsisten. Tidak boleh diwujudkan melalui sifat itu sendiri. Ia menambah gabungan ciri mendatar kepada warisan tradisional, iaitu, tidak ada keperluan untuk warisan antara beberapa Kelas dalam aplikasi.
Biasanya gunakan kata kunci penggunaan dalam kelas untuk mengisytiharkan nama Trait untuk digabungkan, dan pengisytiharan Trait tertentu menggunakan kata kunci trait, dan Trait tidak boleh digunakan secara langsung.
Kod adalah seperti berikut:
<?php /** * Traits可以多重继承,可以看做是一种加强型的接口 */ trait Hello { public function sayHello() { echo 'Hello '; } public function aaa() { echo 'AAA'; } } trait World { public function sayWorld() { echo 'World'; } } class MyHelloWorld { use Hello, World; public function sayExclamationMark() { echo '!'; } // 会覆盖掉Hello中的aaa方法 public function aaa() { echo 'AAAAA'; } } $obj = new MyHelloWorld(); $obj->sayHello(); $obj->sayWorld(); $obj->sayExclamationMark(); $obj->aaa(); // 输出: // Hello World!AAAAA
Kod menggunakan dua sifat untuk melaksanakan warisan berbilang.
Nota: Kaedah yang sama tidak boleh muncul dalam dua sifat Jika terdapat kaedah dengan nama yang sama, ralat maut akan berlaku.
Nota: Terdapat juga kaedah aaa dalam kelas MyHelloWorld, yang akan mengatasi kaedah aaa dalam ciri Hello.
Kod di atas juga boleh dilaksanakan melalui mod gabungan Kod adalah seperti berikut:
<?php /** * 使用组合的方式也可以达到 1_12_trait.php 的效果 */ class Hello2 { public function sayHello() { echo 'Hello '; } public function aaa() { echo 'AAA'; } } class World2 { public function sayWorld() { echo 'World'; } public function aaa() { echo 'AAAA'; } } class MyHelloWorld2 { public $obj = []; public function __construct() { $this->obj['Hello2'] = new Hello2(); $this->obj['World2'] = new World2(); } public function sayExclamationMark() { echo '!'; } public function __call($name, $arguments) { foreach ($this->obj as $value) { if (method_exists($value, $name)) { return $value->$name(); // 也可以用 return call_user_func([$value, $name]); } } if (!method_exists($this->obj['Hello2'], $name) && !method_exists($this->obj['World2'], $name)) { echo "\r\n不存在此方法"; } return true; } // 会覆盖其他类的aaa方法 public function aaa() { echo 'AAAAA'; } } $obj = new MyHelloWorld2(); $obj->sayHello(); $obj->sayWorld(); $obj->saywhat(); $obj->aaa(); $obj->sayExclamationMark(); // 输出: // Hello World!AAAAA
Jelas sekali, jika dilaksanakan melalui ciri, jumlah kod akan menjadi lebih sedikit dan kebolehbacaan akan menjadi lebih tinggi.
Pembelajaran yang disyorkan: tutorial video php
Atas ialah kandungan terperinci Cara menggunakan mod sifat atau gabungan untuk melaksanakan berbilang warisan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membandingkan model pangkalan data asid dan asas, memperincikan ciri -ciri mereka dan kes penggunaan yang sesuai. Asid mengutamakan integriti data dan konsistensi, sesuai untuk aplikasi kewangan dan e-dagang, sementara asas memberi tumpuan kepada ketersediaan dan

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

Artikel ini membincangkan manfaat menggunakan password_hash dan password_verify dalam php untuk mendapatkan kata laluan. Hujah utama ialah fungsi ini meningkatkan perlindungan kata laluan melalui penjanaan garam automatik, algoritma hashing yang kuat, dan secur

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Artikel ini membincangkan strategi untuk mencegah serangan XSS di PHP, memberi tumpuan kepada sanitisasi input, pengekodan output, dan menggunakan perpustakaan dan kerangka kerja yang meningkatkan keselamatan.

Artikel ini membincangkan penggunaan antara muka dan kelas abstrak dalam PHP, memberi tumpuan kepada masa untuk menggunakan setiap. Antara muka menentukan kontrak tanpa pelaksanaan, sesuai untuk kelas yang tidak berkaitan dan warisan berganda. Kelas Abstrak Memberi Funct Biasa


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

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver Mac版
Alat pembangunan web visual

Dreamweaver CS6
Alat pembangunan web visual