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
<?php
interface 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
?>
PHP.mk документација
ReflectionClass::getInterfaceNames
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
reflectionclass.getinterfacenames.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
reflectionclass.getinterfacenames.php
ReflectionClass::getInterfaceNames
Референца за `reflectionclass.getinterfacenames.php` со подобрена типографија и навигација.
ReflectionClass::getInterfaceNames
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ReflectionClass::getInterfaceNames — (PHP 5 >= 5.2.0, PHP 7, PHP 8)
Параметри
Оваа функција нема параметри.
Вратени вредности
Добијте ги имињата на интерфејсот.
Примери
Пример #1 ReflectionClass::getInterfaceNames() example
<?php
interface Foo { }
interface Bar { }
class Baz implements Foo, Bar { }
$rc1 = new ReflectionClass("Baz");
print_r($rc1->getInterfaceNames());
?>Горниот пример ќе прикаже нешто слично на:
Array
(
[0] => Foo
[1] => Bar
)
Види Исто така
- ReflectionClass::getInterfaces() Нумерички список со имиња на интерфејси како вредности.
Белешки од корисници 2 забелешки
pinpin ¶
пред 14 години