ホームページ > バックエンド開発 > PHPチュートリアル > PHP でインターフェイスが使用されるのはどのような場合ですか?注意すべきこと

PHP でインターフェイスが使用されるのはどのような場合ですか?注意すべきこと

WBOY
リリース: 2016-06-20 13:00:54
オリジナル
904 人が閲覧しました

PHP でインターフェイスはいつ使用されますか?注意すべきこと

1 PHP インターフェースとは

インターフェースを使用すると、クラスが実装する必要があるメソッドを指定できますが、これらのメソッドの特定の内容を定義する必要はありません。
インターフェイスは、標準クラスの定義と同様に、interface キーワードを通じて定義されますが、その中で定義されているメソッドはすべて空です。
インターフェースで定義されるすべてのメソッドはパブリックである必要があります。これはインターフェース

の特性です。

インターフェイスを実装するには、implements 演算子を使用します。クラスは、インターフェイスで定義されたすべてのメソッドを実装する必要があります。実装しない場合は、致命的なエラーが報告されます。クラスは複数のインターフェイスを実装できます。複数のインターフェイスの名前を区切るにはカンマを使用します。

2 つの PHP インターフェイスの例

実際的な例として、mysql 拡張関数を使用してカプセル化されたデータベース操作クラス DBMySQL を作成し、よく使用されるいくつかのメソッド (getAll、getOne、delById、delAll、update、save など) を作成しました。
現在、mysql 拡張機能は公式 Web サイトによって完全に廃止されているため、mysqli または pdo-mysql 拡張機能を使用してデータベース操作クラス
をカプセル化するのを手伝ってくれるよう同僚に頼みました。 もしかしたら、彼のスタイルは私の元のスタイルとは異なっているかもしれません。あるいは、彼は delById と delAll はもう必要ないので、1 つの Del メソッドを統合する必要があると感じています。
このように、新しい操作クラスを使用したい場合は、元の操作クラスを使用するプロジェクト内のすべての場所を変更する必要があります。

別の例を挙げると、私は mysqli が使いやすいと考え、同僚 A は PDO-mysql が使いやすいと考え、モジュールを作成する同僚 C は私がどれでも使えると考えています。ただし、同僚 C に一連の mysqli メソッドと別の一連の pdo-mysql メソッドを作成するよう依頼することは不可能です。mysqli メソッドを使用してデータベース操作クラスを閉じ、pdo-mysql メソッドを使用してデータベースを閉じることもできます。次に、同じ機能を実装する 2 つの操作クラスのメソッド名とパラメーターが同じであることが規定されるため、同僚 C はモジュールとロジックの作成に集中できます。

それでは、同僚の A と私が作成したデータベース操作クラスのメソッドの一貫性を確保するにはどうすればよいでしょうか?

インターフェースの使い方はこんな感じです。それを実装するすべてのクラスは、それが指定するメソッドを持たなければならず、それ以外のものは機能しないと規定されています。このように、インターフェースを記述してメソッドを指定すれば、同僚 C はこのインターフェースを参照して、このインターフェースのメソッドを呼び出すことができます。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート