Beschränkt und reguliert hauptsächlich den Klassennamen, die Methoden, die der Klasse gehören, und die übergebenen Parameter. Es fühlt sich ein bisschen wie die abstrakte PHP-Klasse an.
1. Definition und Aufruf von Schnittstellen (Empfohlenes Lernen: PHP-Video-Tutorial)
<?php interface face1 { const param = 'test'; public function show(); } class test implements face1 { public function show() { echo "interface is run<br>"; } } $face = new test(); echo $face->show(); //inerface is run echo face1::param; //test ?>
Hinweis: Im obigen Beispiel ist zu beachten, dass der Methodenname der Schnittstelle show lautet und die Klasse, die die Schnittstelle erbt, über die Methode show verfügen muss, andernfalls wird ein Fehler gemeldet. Mit anderen Worten, die Methoden der Schnittstelle sind gefälscht, und was wirklich funktioniert, sind die Methoden in der geerbten Klasse. Aus diesem Grund ähnelt die Schnittstelle meiner Meinung nach ein wenig der abstrakten Klasse von PHP.
Zweitens sind die Parameterbeschränkungen relativ streng
<?php interface face1 { public function show(show $show); } // 显示正常 class test implements face1 { public function show(show $show) { echo "asdfasdf"; } } // 报fatal错误 class test2 implements face1 { public function show(aaa $aaa) { } } ?>
Erklärung: Das obige Beispiel hat einen schwerwiegenden Fehler gemeldet. Warum wurde ein schwerwiegender Fehler gemeldet? Der Grund dafür ist, dass der übergebene Parameter aaa $aaa und nicht show $show ist. In einer geerbten Schnittstellenklasse müssen beim Aufruf einer Methode der Schnittstelle die übergebenen Parameter mit den Parameternamen in der Schnittstelle übereinstimmen. Andernfalls wird ein Fehler gemeldet.
Das obige ist der detaillierte Inhalt vonWoraus besteht die PHP-Schnittstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!