ReflectionClass::implementsInterface

(PHP 5, PHP 7, PHP 8)

ReflectionClass::implementsInterfaceインターフェイスの実装を調べる

説明

public ReflectionClass::implementsInterface(ReflectionClass|string $interface): bool

インターフェイスを実装しているかどうかを調べます。

パラメータ

interface

インターフェイスの名前。

戻り値

成功した場合に true を、失敗した場合に false を返します。

エラー / 例外

ReflectionClass::implementsInterface() は、 interface がインターフェイスでない場合に ReflectionException をスローします。

参考

add a note

User Contributed Notes 3 notes

up
1
jtunaley at gmail dot com
7 years ago
Note that this method also returns true when the thing you're reflecting is the interface you're checking for:<?phpinterface MyInterface {}$reflect = new ReflectionClass('MyInterface');var_dump($reflect->implementsInterface('MyInterface')); // bool(true)?>
up
1
keepchen2016 at gmail dot com
8 years ago
interface Factory{    public function sayHello();}class ParentClass implements Factory{    public function sayHello()    {        echo "hello\n";    }}class ChildrenClass extends ParentClass{}$reflect = new ReflectionClass('ParentClass');var_dump($reflect->implementsInterface('Factory'));$second_ref = new ReflectionClass('ChildrenClass');var_dump($second_ref->isSubclassOf('ParentClass'));$third_ref = new ReflectionClass('Factory');var_dump($third_ref->isInterface());//can not be called as staticvar_dump(ReflectionClass::isInterface('Factory'));die;//#resultbool(true)bool(true)bool(true)PHP Fatal error:  Non-static method ReflectionClass::isInterface() cannot be called statically
up
0
dhairya dot coder at gmail dot com
9 years ago
//checks that whether class Fruit implements interface apple or not interface Apple {        function taste();}class Fruit implements Apple {        function taste() {        echo "Seet";    }}$obj=new ReflectionClass('Fruit');var_dump($obj->implementsInterface('Apple'));  //Here it will checks that whether class Fruit implements interface apple or not
To Top