Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah fungsi PHP mengembalikan nama kelas?

Bagaimanakah fungsi PHP mengembalikan nama kelas?

王林
王林asal
2024-04-11 10:21:02447semak imbas

Terdapat kaedah berikut dalam PHP untuk mendapatkan nama kelas sesuatu fungsi: CLASS magic constant __CLASS__: Mengembalikan nama kelas semasa. get_class() fungsi: Mengembalikan nama kelas objek. fungsi debug_backtrace(): boleh mendapatkan maklumat timbunan panggilan, termasuk nama kelas.

PHP 函数如何返回类名?

Dapatkan nama kelas fungsi PHP

Sesetengah fungsi dalam PHP boleh mengembalikan nama kelas. Artikel ini akan memperkenalkan fungsi dan kes praktikal ini. pemalar ajaib kod > Fungsi mengembalikan nama kelas objek:

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

Kes sebenar:

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

debug_backtrace() fungsi __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"

get_class() 函数

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

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"

debug_backtrace() 函数

debug_backtrace()

debug_backtrace() Fungsi boleh digunakan untuk mendapatkan maklumat timbunan panggilan, termasuk nama kelas:

rrreee Kes praktikal:

🎜rrreee

Atas ialah kandungan terperinci Bagaimanakah fungsi PHP mengembalikan nama kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn