(PHP 5, PHP 7)
ReflectionClass::getMethods — Récupère un tableau de méthodes
$filter
] )Récupère un tableau de méthodes d'une classe.
filter
Filtre les résultats pour inclure uniquement les méthodes avec certains attributs. Par défaut, aucun filtrage.
Toute disjonction au niveau du bit de
ReflectionMethod::IS_STATIC
,
ReflectionMethod::IS_PUBLIC
,
ReflectionMethod::IS_PROTECTED
,
ReflectionMethod::IS_PRIVATE
,
ReflectionMethod::IS_ABSTRACT
et
ReflectionMethod::IS_FINAL
,
de sorte que toutes les méthodes avec n'importe quel des attributs fournis seront retournées.
Note: Notez que d'autres opérations au niveau du bit, par exemple ~ ne fonctionneront pas comme prévu. En d'autres termes, il n'est pas possible de récupérer toutes les méthodes non statiques, par exemple.
Un tableau d'objets ReflectionMethod reflétant chaque méthode.
Exemple #1 Exemple avec 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);
?>
L'exemple ci-dessus va afficher :
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" } }
Exemple #2 Filtrage des résultats depuis la méthode 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);
?>
L'exemple ci-dessus va afficher :
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" } }