ReflectionClass::getMethods

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getMethodsВозвращает список методов в виде массива

Описание

publicReflectionClass::getMethods(?int$filter = null): array

Возвращает список методов в виде массива.

Список параметров

filter

Фильтрация результата для включения в список только методов с определёнными атрибутами. По умолчанию фильтрации нет.

Комбинация из следующих констант через логическое ИЛИ: ReflectionMethod::IS_STATIC, ReflectionMethod::IS_PUBLIC, ReflectionMethod::IS_PROTECTED, ReflectionMethod::IS_PRIVATE, ReflectionMethod::IS_ABSTRACT, ReflectionMethod::IS_FINAL, так что все методы с любым из перечисленных атрибутов будут возвращены.

Замечание: Обратите внимание, что прочие побитовые операции, к примеру ~ не будут работать так, как ожидается. Другими словами, например, невозможно получить все нестатические методы.

Возвращаемые значения

Массив (array) объектов класса ReflectionMethod, отражающих каждый метод.

Список изменений

ВерсияОписание
7.2.0filter теперь допускает значение null.

Примеры

Пример #1 Пример использования ReflectionClass::getMethods()

<?php
class Apple {
public function
firstMethod() { }
final protected function
secondMethod() { }
private static function
thirdMethod() { }
}

$class = new ReflectionClass('Apple');
$methods = $class->getMethods();
var_dump($methods);
?>

Результат выполнения приведённого примера:

array(3) { [0]=> object(ReflectionMethod)#2 (2) { ["name"]=> string(11) "firstMethod" ["class"]=> string(5) "Apple" } [1]=> object(ReflectionMethod)#3 (2) { ["name"]=> string(12) "secondMethod" ["class"]=> string(5) "Apple" } [2]=> object(ReflectionMethod)#4 (2) { ["name"]=> string(11) "thirdMethod" ["class"]=> string(5) "Apple" } }

Пример #2 Пример фильтрации результата вызова ReflectionClass::getMethods()

<?php
class Apple {
public function
firstMethod() { }
final protected function
secondMethod() { }
private static function
thirdMethod() { }
}

$class = new ReflectionClass('Apple');
$methods = $class->getMethods(ReflectionMethod::IS_STATIC | ReflectionMethod::IS_FINAL);
var_dump($methods);
?>

Результат выполнения приведённого примера:

array(2) { [0]=> object(ReflectionMethod)#2 (2) { ["name"]=> string(12) "secondMethod" ["class"]=> string(5) "Apple" } [1]=> object(ReflectionMethod)#3 (2) { ["name"]=> string(11) "thirdMethod" ["class"]=> string(5) "Apple" } }

Смотрите также

To Top