(PHP 5, PHP 7, PHP 8)
ReflectionClass::getMethods — Obtiene un array de métodos
Obtiene un array de los métodos de una clase.
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.
Un tableau de objetos ReflectionMethod que reflejan cada método.
Versión | Descripción |
---|---|
7.2.0 |
filter ahora es nullable.
|
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" } }