Maison  >  Article  >  développement back-end  >  Comment une fonction PHP renvoie-t-elle le nom de la classe ?

Comment une fonction PHP renvoie-t-elle le nom de la classe ?

王林
王林original
2024-04-11 10:21:02388parcourir

Il existe les méthodes suivantes en PHP pour obtenir le nom de classe d'une fonction : Constante magique CLASS __CLASS__ : Renvoie le nom de classe actuel. Fonction get_class() : renvoie le nom de classe de l'objet. Fonction debug_backtrace() : peut obtenir des informations sur la pile d'appels, y compris le nom de la classe.

PHP 函数如何返回类名?

Obtenir le nom de classe de la fonction PHP

Certaines fonctions en PHP peuvent renvoyer le nom de la classe. Cet article présentera ces fonctions et des cas pratiques.

CLASS Constante magique

__CLASS__ La constante magique renvoie le nom de la classe actuelle : __CLASS__ 魔术常量返回当前类名:

class MyClass {
    public static function getClassName() {
        return __CLASS__;
    }
}

实战案例:

$myClass = new MyClass();
echo $myClass->getClassName(); // 输出 "MyClass"

get_class() 函数

get_class() 函数返回对象的类名:

class MyClass {
}

$myClass = new MyClass();
echo get_class($myClass); // 输出 "MyClass"

实战案例:

function getType($object) {
    return get_class($object);
}

$object = new stdClass();
echo getType($object); // 输出 "stdClass"

debug_backtrace() 函数

debug_backtrace()

class MyClass {
    public static function getCallerClassName() {
        $trace = debug_backtrace();
        return $trace[1]['class']; // 获取调用者类名
    }
}

Cas réel :

class CallingClass {
    public static function callMethod() {
        return MyClass::getCallerClassName();
    }
}

echo CallingClass::callMethod(); // 输出 "CallingClass"

get_class() fonction 🎜🎜get_class() code > La fonction renvoie le nom de classe de l'objet : 🎜rrreee🎜🎜Cas réel : 🎜🎜rrreee🎜fonction debug_backtrace() 🎜🎜<code>debug_backtrace() La fonction peut être utilisée pour obtenir des informations sur la pile d'appels, incluant le nom de la classe : 🎜rrreee 🎜🎜Cas pratique : 🎜🎜rrreee

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