Bagaimanakah fungsi PHP mengembalikan nama kelas?

王林
Lepaskan: 2024-04-11 10:21:02
asal
446 orang telah melayarinya

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__;
    }
}
Salin selepas log masuk

Kes sebenar:

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

debug_backtrace() fungsi __CLASS__ 魔术常量返回当前类名:

class MyClass {
}

$myClass = new MyClass();
echo get_class($myClass); // 输出 "MyClass"
Salin selepas log masuk

实战案例:

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

$object = new stdClass();
echo getType($object); // 输出 "stdClass"
Salin selepas log masuk

get_class() 函数

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

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

实战案例:

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

echo CallingClass::callMethod(); // 输出 "CallingClass"
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan