【PHP8.x】ReflectionClass::implementsInterface()メソッドの使い方
implementsInterfaceメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
implementsInterfaceメソッドは、ReflectionClassオブジェクトが表すクラスが、指定されたインターフェースを実装しているかどうかを判定するメソッドです。ReflectionClassは、PHPのプログラム実行中に、クラスやインターフェース、メソッド、プロパティといった構造に関する詳細な情報を取得するための機能を提供します。
このメソッドの主な役割は、特定のクラスが、あらかじめ定義されたインターフェースの「契約」を満たしているかを確認することです。インターフェースとは、クラスが実装すべきメソッドの宣言だけをまとめたもので、そのインターフェースを実装するクラスは、インターフェースで定義されたすべてのメソッドを必ず提供する必要があります。
implementsInterfaceメソッドは、引数として検証したいインターフェースの名前(文字列)またはそのインターフェースを表すReflectionClassオブジェクトを受け取ります。そして、対象のクラスがそのインターフェースを実際に実装している場合はtrueを、実装していない場合はfalseを返します。
この機能を利用することで、プログラムの実行中に動的にクラスの能力を調べ、特定の機能を提供するクラスのみを処理対象にする、といった柔軟な制御が可能になります。これにより、保守性が高く、拡張しやすいシステムを構築する際に役立ちます。
構文(syntax)
1<?php 2interface MyInterface {} 3class MyClass implements MyInterface {} 4 5$reflectionClass = new ReflectionClass('MyClass'); 6$isImplementing = $reflectionClass->implementsInterface('MyInterface'); 7?>
引数(parameters)
string|ReflectionClass $interface
- string|ReflectionClass $interface: 実装しているインターフェースの名前(文字列)または ReflectionClass オブジェクト
戻り値(return)
bool
指定されたクラスが、指定されたインターフェースを実装しているかどうかを示します。実装していれば true を、していなければ false を返します。