У меня есть этот пример кода:
class A
{
public function A_A() { /* ... */ }
public function A_B() { /* ... */ }
}
class B extends A
{
public function B_A() { /* ... */ }
public function B_B() { /* ... */ }
public function B_C()
{
return get_class_methods($this);
}
}
$a = new A();
$b = new B();
Делаем это:
<code>echo '<pre>';
print_r($b->B_C());
echo '
';
Выводит следующий вывод:
Array
(
[0] => B_A
[1] => B_B
[2] => B_C
[3] => A_A
[4] => A_B
)
Как заставить его возвращать только следующие методы?
Array
(
[0] => B_A
[1] => B_B
[2] => B_C
)
IЕсли в классе A есть метод, который должен вызывать все методы класса B, проблема, конечно, в том, что он ведет к бесконечному циклу из-за значений, возвращаемых get_class_methods()
.