get_class()用于获取对象类名,实例中传$this可得类名;静态方法应使用get_called_class()以支持后期静态绑定,而__CLASS__仅返回定义时的类名,不支持动态绑定。

get_class 是 PHP 中用于获取对象所属类名称的内置函数。它在面向对象编程中非常实用,尤其在调试、日志记录或需要根据对象类型执行不同逻辑时。
class User {
public function getName() {
return get_class($this); // 返回当前对象的类名
}
}
$user = new User();
echo $user->getName(); // 输出: User示例对比:
class Animal {
public static function whoAmI1() {
echo get_called_class();
}
public static function whoAmI2() {
echo __CLASS__;
}
}
class Dog extends Animal {}
Animal::whoAmI1(); // 输出: Animal
Dog::whoAmI1(); // 输出: Dog(动态绑定)
Animal::whoAmI2(); // 输出: Animal
Dog::whoAmI2(); // 输出: Animal(始终是定义时的类)
function logClassName($obj) {
if (is_object($obj)) {
echo get_class($obj);
} else {
echo 'Not an object';
}
}基本上就这些。根据使用环境选择合适的方式,注意区分实例与静态、继承中的行为差异。不复杂但容易忽略细节。
以上就是php中get_class获取类名_php获取当前对象与静态类名称方法的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号