PHP: Hypertext Preprocessor (original) (raw)

ReflectionClass::implementsInterface

(PHP 5, PHP 7, PHP 8)

ReflectionClass::implementsInterface — Implements interface

Description

Parameters

interface

The interface name.

Return Values

Returns [true](reserved.constants.php#constant.true) on success or [false](reserved.constants.php#constant.false) on failure.

Errors/Exceptions

ReflectionClass::implementsInterface() throws anReflectionException if interface is not an interface.

See Also

Found A Problem?

jtunaley at gmail dot com

6 years ago

`Note that this method also returns true when the thing you're reflecting is the interface you're checking for:

implementsInterface('MyInterface')); // bool(true) ?>

`

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

`

keepchen2016 at gmail dot com

7 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 static
var_dump(ReflectionClass::isInterface('Factory'));
die;
//#result
bool(true)
bool(true)
bool(true)
PHP Fatal error: Non-static method ReflectionClass::isInterface() cannot be called statically

`