Rumah > Artikel > pembangunan bahagian belakang > Antara Muka PHP
Antara Muka PHP membantu kami membuat atur cara yang berguna, menunjukkan kaedah awam kelas yang mesti dilaksanakan tanpa memasukkan kerumitan dan cara kaedah khusus kami akan dilaksanakan. Antara Muka PHP hanya akan mentakrifkan hujah dan nama dan bukannya kandungan kaedah, dan mana-mana kelas yang melaksanakan antara muka perlu melaksanakan semua kaedah yang ditakrifkan oleh antara muka.
IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olokMulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Antara muka ini serupa dengan kelas, tetapi hanya frasa kelas akan digantikan dengan kata kunci antara muka dalam pengisytiharan.
Sintaks:
<?php Interface interface_name { //List of methods } ?>
Ia boleh melaksanakan satu antara muka dalam kelas yang sama tetapi membuat lebih banyak antara muka dalam kelas yang sama. Kelas boleh melaksanakan kaedah khusus dengan antara muka Objek PHP tanpa dihadkan cara melaksanakannya. Antara muka adalah sama atau serupa dengan kelas, tetapi kata kunci antara muka PHP menggantikan kata kunci kelas tanpa menggunakan sebarang kaedah dengan kandungannya ditakrifkan. Anda boleh mengisytiharkan pembina dalam antara muka. Kelas atau Kelas boleh melaksanakan berbilang antara muka apabila diperlukan dengan mengasingkan setiap antara muka dengan koma.
Anda boleh melanjutkan kelas dalam Bahasa Pengaturcaraan PHP menggunakan operasi "lanjutkan". Antara Muka PHP ialah tahap abstraksi seterusnya. Ia serupa dengan kelas abstrak, tetapi terdapat sedikit perbezaan. Antara Muka atau Antara Muka membolehkan anda mencipta kod, yang berguna untuk menentukan kaedah kelas, tetapi anda tidak boleh menambah sebarang kod pada kaedah tersebut, manakala kelas abstrak membenarkan perkara yang sama atau serupa seperti antara muka atau antara muka PHP tetapi dalam kelas abstrak, seseorang boleh menambah kod pada kaedah atau kaedah.
Versi lama sebelum PHP 5.3.9 tidak dapat melaksanakan hanya dua antara muka dengan nama yang sama kerana ia akan menyebabkan beberapa kesamaran. Paling penting, versi PHP terkini membenarkan kaedah pendua dengan tandatangan yang sama/serupa. Kelas yang melaksanakan antara muka harus menggunakan tandatangan kaedah yang serasi dengan "Prinsip Penggantian Liskov - LSP." Akan ada ralat maut dalam keputusan jika tandatangan kaedah tidak digunakan.
Kelas akan menggunakan antara muka untuk menambah kandungan pada kaedahnya, yang terdiri semata-mata daripada kaedah tanpa sebarang kandungan sedia ada. Kaedah dalam antara muka kebanyakannya boleh dilihat oleh orang ramai tanpa sekatan. Antara muka PHP tidak sama/serupa dengan kelas. Kelas boleh mewarisi banyak/berbilang antara muka, tetapi kelas boleh mewarisi hanya satu kelas pada satu masa. Ia mempunyai kelebihan ini juga. Pembolehubah hadir di dalam antara muka/antara muka.
Di bawah ialah contoh Antara Muka PHP:
Dalam contoh di bawah, kami mengisytiharkan antara muka bernama "MyInterfaceName1" dengan hanya dua kaedah yang disebut. Ia adalah kaedah11 dan kaedah21 di dalam antara muka tanpa menggunakan sebarang kandungan. Kemudian kelas bernama "MyClassName1" akan melaksanakan antara muka "MyInterfaceName1" dan menggunakan kaedah yang tersedia berdasarkan keperluan.
Seperti definisi yang dinyatakan, antara muka juga terdiri daripada kaedah tanpa kandungan. Semasa pelaksanaan antara muka, kami akan membincangkan kandungan hanya di dalam kelas. Kadangkala, orang merujuk kepada kaedah antara muka ini sebagai kaedah abstrak.
Kod:
<?php interface MyInterfaceName1{ public function method11(); public function method21(); } class MyClassName1 implements MyInterfaceName1{ public function method11(){ echo "Now Method11 Called" . "<br>"; } public function method21(){ echo "Now Method21 Called". "\n"; } } $obj = new MyClassName1; $obj->method11(); $obj->method21(); ?>
Output:
Atur cara di bawah mengandungi dua antara muka, setiap satu dengan kaedahnya sendiri. Kemudian burung kelas dibuat dengan kaedah yang dipanggil info(). Kini kelas Dove meluas ke Class Bird, yang melaksanakan Antara Muka PHP CanFly untuk mendapatkan penyata cetakan kerana kenyataan cetakan/lain-lain tidak akan hadir di dalam antara muka kerana ia hanya mempunyai kaedah.
Berdasarkan ciri-ciri antara muka Bird 2 dibuat, “CanFly” dan “CanSwim” dengan 1 kaedah dalam setiap satu. Mereka adalah fly() dan swim(). Kaedah "info()" dalam kelas "Burung" mencetak/menggemakan penyataan untuk menentukan jenis burung dan jika ia memang burung. Panjangkan kelas "burung" dan laksanakan antara muka "CanFly" dan "CanSwim" untuk meletakkan butiran burung seperti Dove, Penguin dan Duck satu demi satu dalam pembolehubah "$name1". Selain itu, tambahkan pernyataan gema untuk antara muka.
We have created a function named “describe($bird)” that utilizes the “CanFly” and “CanSwim” interfaces to determine if a creature is a bird. If the $ bird doesn’t satisfy the fly() and swim(), the else condition exists in the PHP program’s output. Now calling all the described functions with the 3 bird classes. You will get the output of the 3 birds as needed. Check out below. It is a simple description, but you will know how it is happening if you look at the code and output of the PHP Program below.
Code:
<?php /** * This is An example of the duck typing in the PHP Script */ interface CanFly1 { public function fly1(); } interface CanSwim1 { public function swim1(); } class Bird1 { public function info1() { echo "I am a {$this->name1}\n"; echo "I am a bird\n"; } } /** * This is some of the implementations of the birds */ class Dove1 extends Bird1 implements CanFly1 { var $name1 = "Dove"; public function fly1() { echo "I fly\n"; } } class Penguin1 extends Bird1 implements CanSwim1 { var $name1 = "Penguin"; public function swim1() { echo "I swim\n"; } } class Duck1 extends Bird1 implements CanFly1, CanSwim1 { var $name1 = "Duck"; public function fly1() { echo "I fly\n"; } public function swim1() { echo "I swim\n"; } } /** * This is one of the simple function which is to describe a bird */ function describe1($bird1) { if ($bird1 instanceof Bird1) { $bird1->info1(); if ($bird1 instanceof CanFly1) { $bird1->fly1(); } if ($bird1 instanceof CanSwim1) { $bird1->swim1(); } } else { die("This is not a bird. I cannot describe it."); } } // Now describing the birds describe1(new Penguin1); echo "---\n<br>"; describe1(new Dove1); echo "---\n<br>"; describe1(new Duck1);
Output:
Following are some of the advantages given.
This is a guide to the PHP Interface. Here we discuss the PHP Interface, its Advantages, and its various examples to understand the PHP Interface concept briefly. You can also go through our other suggested articles to learn more –
Atas ialah kandungan terperinci Antara Muka PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!