ReflectionClass::getInterfaceNames

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

ReflectionClass::getInterfaceNamesRécupère les noms des interfaces

Description

public ReflectionClass::getInterfaceNames(): array

Récupère les noms des interfaces.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau numérique dont les valeurs sont les noms des interfaces.

Exemples

Exemple #1 Exemple avec ReflectionClass::getInterfaceNames()

<?php
interface Foo { }

interface
Bar { }

class
Baz implements Foo, Bar { }

$rc1 = new ReflectionClass("Baz");

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

Résultat de l'exemple ci-dessus est similaire à :

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

Voir aussi

add a note

User Contributed Notes 2 notes

up
10
pinpin
14 years ago
It seems the interface names are actually listed in a defined order:- "extends" takes precedence over "implements" (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 "implements" : they're listed in the defined order+ from an "extends" (a class extends another class which implements multiple interfaces; or an interface extends multiple interfaces) : they're listed in REVERSE order<?phpinterface Foo {}interface Bar {}interface Other {}interface Foobar extends Foo, Bar {}interface Barfoo extends Bar, Foo {}class Test1 implements Foo, Bar {}class Test2 implements Bar, Foo {}class Test3 extends Test1 {}class Test4 extends Test2 {}class Test5 extends Test1 implements Other {}class Test6 implements Foobar, Other {}class TestO implements Other {}class Test7 extends TestO implements Barfoo {}$r=new ReflectionClass('Test1');print_r($r->getInterfaceNames()); // Foo, Bar$r=new ReflectionClass('Test2');print_r($r->getInterfaceNames()); // Bar, Foo$r=new ReflectionClass('Test3');print_r($r->getInterfaceNames()); // Bar, Foo$r=new ReflectionClass('Test4');print_r($r->getInterfaceNames()); // Foo, Bar$r=new ReflectionClass('Test5');print_r($r->getInterfaceNames()); // Bar, Foo, Other$r=new ReflectionClass('Test6');print_r($r->getInterfaceNames()); // Foobar, Bar, Foo, Other$r=new ReflectionClass('Test7');print_r($r->getInterfaceNames()); // Other, Barfoo, Foo, Bar?>
up
1
pvdhurk
5 years ago
For the record, it will return the full name (not the short name) for each InterfaceExample with namespace would've helped.
To Top