(PHP 5, PHP 7, PHP 8)
ReflectionClass::getMethods — Récupère un tableau des méthodes
Description
public
ReflectionClass::getMethods(?int
$filter
=
null
): array
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.
Historique
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
- reflectionclass::getMethod() - Récupère un ReflectionMethod pour une méthode de classe
- get_class_methods() - Retourne les noms des méthodes d'une classe