Maison >développement back-end >Problème PHP >Comment obtenir la méthode de la classe actuelle en php (deux façons)

Comment obtenir la méthode de la classe actuelle en php (deux façons)

PHPz
PHPzoriginal
2023-04-12 09:20:001416parcourir

Pour les développeurs PHP, obtenir la méthode de la classe actuelle est une opération très basique mais importante. En PHP, si nous avons besoin d’obtenir la méthode de la classe actuelle, nous pouvons le faire des deux manières suivantes.

Méthode 1 : Utiliser la constante magique __METHOD__

__METHOD__ est une constante magique en PHP, qui peut renvoyer le nom de la méthode actuellement exécutée. Par conséquent, nous pouvons obtenir les méthodes de la classe actuelle en l’utilisant. Voici un exemple de code :

class Person {
    public function getName() {
        echo __METHOD__;
    }
}

$p = new Person();
$p->getName(); //输出Person::getName

Dans l'exemple ci-dessus, nous avons créé une classe Person et l'avons instanciée. Ensuite, nous avons appelé la méthode getName de la classe Person et avons affiché la valeur de la constante __METHOD__ dans la méthode.

Lorsque nous appelons la méthode getName, la constante __METHOD__ renverra "Person::getName", qui est exactement le nom de la méthode actuelle dont nous avons besoin.

Méthode 2 : utilisez la fonction get_class_methods

Une autre façon d'obtenir la méthode de classe actuelle consiste à utiliser la fonction intégrée PHP get_class_methods. Cette fonction peut renvoyer un tableau de toutes les méthodes publiques d'une classe, et le nom de clé dans ce tableau est le nom de la méthode, et la valeur est un objet appelable qui fait référence à l'instance de classe actuelle.

Voici un exemple de code :

class Person {
    public function getName() {
        echo "My name is Joe";
    }
}

$p = new Person();
$methods = get_class_methods($p);
var_dump($methods);

Dans l'exemple ci-dessus, nous avons créé une classe Person et l'avons instanciée. Ensuite, nous utilisons la fonction get_class_methods pour obtenir toutes les méthodes de la classe Person et les afficher sur la console.

Lorsque nous exécutons le code ci-dessus, le résultat de retour de la fonction get_class_methods sera affiché, qui est un tableau de toutes les méthodes publiques de la classe, comme indiqué ci-dessous :

array(1) {
  [0]=>
  string(7) "getName"
}

Dans ce tableau, le nom de la clé est le nom de la méthode. "getName", Value est un objet appelable de l'instance de classe actuelle.

Résumé

Ci-dessus sont deux façons pour PHP d'obtenir la méthode de classe actuelle. Nous pouvons choisir d'utiliser la constante magique __METHOD__ ou la fonction intégrée get_class_methods pour obtenir toutes les méthodes de la classe actuelle. Pour les débutants, il est recommandé d'utiliser la constante magique __METHOD__ pour obtenir les méthodes de la classe actuelle, car elle est plus simple et plus facile à comprendre. Pour les développeurs PHP ayant une certaine expérience, la fonction get_class_methods sera plus courante et plus pratique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn