ホームページ > バックエンド開発 > PHPチュートリアル > PHP 関数はどのようにしてクラス名を返すのでしょうか?

PHP 関数はどのようにしてクラス名を返すのでしょうか?

王林
リリース: 2024-04-11 10:21:02
オリジナル
461 人が閲覧しました

PHP には、関数のクラス名を取得する次のメソッドがあります。 CLASS マジック定数 __CLASS__: 現在のクラス名を返します。 get_class() 関数: オブジェクトのクラス名を返します。 debug_backtrace() 関数: クラス名を含むコールスタック情報を取得できます。

PHP 函数如何返回类名?

PHP 関数のクラス名を取得する

PHP の一部の関数はクラス名を返すことができます。この記事では、これらの機能と実践事例を紹介します。

CLASS マジック定数

__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']; // 获取调用者类名
    }
}
ログイン後にコピー

実戦事例: ##

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

echo CallingClass::callMethod(); // 输出 "CallingClass"
ログイン後にコピー

以上がPHP 関数はどのようにしてクラス名を返すのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート