ReflectionClass::getMethods

(PHP 5, PHP 7)

ReflectionClass::getMethodsRécupère un tableau des méthodes

Description

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

Récupère un tableau des méthodes d'une classe.

Liste de paramètres

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.

Valeurs de retour

Un tableau d'objets ReflectionMethod reflétant chaque méthode.

Exemples

Exemple #1 Utilisation 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);
?>

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

Voir aussi