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


(PHP 5)

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

Описание

public array ReflectionClass::getMethods ([ int $filter ] )

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

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

filter

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

Любая комбинация из следующих констант: ReflectionMethod::IS_STATIC, ReflectionMethod::IS_PUBLIC, ReflectionMethod::IS_PROTECTED, ReflectionMethod::IS_PRIVATE, ReflectionMethod::IS_ABSTRACT, ReflectionMethod::IS_FINAL.

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

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

Примеры

Пример #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"   } } 

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