Получаю через Reflection все публичные методы определенного класса. Но он вытягивает методы и из классов наследников, как мне сделать что бы получал только методы данного класса который был указан ?
$ref = new \ReflectionClass('nameSpace');
$methods[] = $ref->getMethods(\ReflectionMethod::IS_PUBLIC);
class A {
public function method1() {
}
public function method2() {
}
}
class B extends A {
public function method3() {
}
public function method4() {
}
}
$class = new ReflectionClass('A');
foreach($class->getMethods() as $m) {
if($m->getDeclaringClass()->getName() === $class->getName()) {
echo $m->getName(), PHP_EOL;
}
}
Выведет:
method1
method2
Вместо echo делайте то, что вам необходимо.