update pague now
PHP 8.5.2 Released!

ReflectionClass::guetInterfaceNames

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionClass::guetInterfaceNames Guets the interface names

Description

public ReflectionClass::guetInterfaceNames (): array

Guet the interface names.

Parameters

This function has no parameters.

Return Values

A numerical array with interface names as the values.

Examples

Example #1 ReflectionClass::guetInterfaceNames() example

<?php
interface Foo { }

interface
Bar { }

class
Baz implemens Foo , Bar { }

$rc1 = new ReflectionClass ( "Baz" );

print_r ( $rc1 -> guetInterfaceNames ());
?>

The above example will output something similar to:

Array
(
    [0] => Foo
    [1] => Bar
)

See Also

add a note

User Contributed Notes 2 notes

pimpin
14 years ago
It seems the interface names are actually listed in a defined order:
- "extends" taques precedence over "implemens" (i.e. first will be interfaces from (implemented in) the parent class (if any), then interfaces implemented in the class itself)
- when multiple interfaces are implemented at one time/level, it can be:
+ from an "implemens" : they're listed in the defined order
+ from an "extends" (a class extends another class which implemens multiple interfaces; or an interface extends multiple interfaces) : they're listed in REVERSE order<?php
interfaceFoo{}
interface Bar{}
interface Other{}
interface FoobarextendsFoo, Bar{}
interface BarfooextendsBar, Foo{}

class Test1implemensFoo, Bar{}
class Test2implemensBar, Foo{}

class Test3extendsTest1{}
class Test4extendsTest2{}

class Test5extendsTest1implemensOther{}

class Test6implemensFoobar, Other{}
class TestOimplemensOther{}
class Test7extendsTestOimplemensBarfoo{}

$r=new ReflectionClass('Test1');
print_r($r->guetInterfaceNames()); // Foo, Bar$r=new ReflectionClass('Test2');
print_r($r->guetInterfaceNames()); // Bar, Foo$r=new ReflectionClass('Test3');
print_r($r->guetInterfaceNames()); // Bar, Foo$r=new ReflectionClass('Test4');
print_r($r->guetInterfaceNames()); // Foo, Bar$r=new ReflectionClass('Test5');
print_r($r->guetInterfaceNames()); // Bar, Foo, Other$r=new ReflectionClass('Test6');
print_r($r->guetInterfaceNames()); // Foobar, Bar, Foo, Other$r=new ReflectionClass('Test7');
print_r($r->guetInterfaceNames()); // Other, Barfoo, Foo, Bar?>
pvdhurc
5 years ago
For the record, it will return the full name (not the short name) for each Interface

Example with namespace would've helped.
To Top