ReflectionClass::getMethods

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getMethodsObtiene un array de métodos

Descripción

public ReflectionClass::getMethods(?int $filter = null): array

Obtiene un array de los métodos de una clase.

Parámetros

filter

Filtra los resultados para incluir únicamente los métodos con ciertos atributos. Por omisión, no se aplica ningún filtro.

Cualquier disyunción a nivel de bits de ReflectionMethod::IS_STATIC, ReflectionMethod::IS_PUBLIC, ReflectionMethod::IS_PROTECTED, ReflectionMethod::IS_PRIVATE, ReflectionMethod::IS_ABSTRACT y ReflectionMethod::IS_FINAL, de modo que se devuelven todos los métodos con cualquiera de los atributos proporcionados.

Nota: Tenga en cuenta que otras operaciones a nivel de bits, por ejemplo ~ no funcionarán como se espera. En otras palabras, no es posible obtener todos los métodos no estáticos, por ejemplo.

Valores devueltos

Un tableau de objetos ReflectionMethod que reflejan cada método.

Historial de cambios

Versión Descripción
7.2.0 filter ahora es nullable.

Ejemplos

Ejemplo #1 Uso simple de 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);
?>

El resultado del ejemplo sería:

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"
  }
}

Ejemplo #2 Filtro de resultados desde 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);
?>

El resultado del ejemplo sería:

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"
  }
}

Ver también