主にクラス名、クラスが持つメソッド、渡されるパラメータを制約・規制するもので、phpの抽象抽象クラスに似た感じです。
1. インターフェイスの定義と呼び出し (推奨学習: PHP ビデオ チュートリアル)
<?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 ?>
注: 上記の例で注意すべき点は、インターフェイスのメソッド名が show であり、インターフェイスを継承するクラスには show メソッドが必要であることです。そうでない場合はエラーが報告されます。つまり、インターフェースのメソッドは偽物であり、実際に動作するのは継承クラスのメソッドであるため、PHP の抽象クラスに似たインターフェースになっていると思います。
2 番目に、パラメータの制約が比較的厳しいです
<?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) { } } ?>
説明: 上の例では致命的なエラーが報告されていますが、なぜ致命的なエラーが報告されるのでしょうか?その理由は、渡されたパラメータが show $show ではなく aaa $aaa であるためです。継承するインターフェイス クラスでは、インターフェイスのメソッドを呼び出すときに、渡されるパラメーターがインターフェイス内のパラメーター名と一致する必要があります。それ以外の場合は、エラーが報告されます。
以上がphpインターフェースは何で構成されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。