get_class--返回对象的类名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了get_class--返回对象的类名相关的知识,希望对你有一定的参考价值。

get_class--返回对象的类名

string get_class ([ object $obj ] )

返回对象实例 obj 所属类的名字。如果 obj 不是一个对象则返回 FALSE

<?php 
class Person{
    public $username;
    public $age;
    public $height;
    public $weight;
    static public $number = 0;
    
    public function __construct($username,$age,$height,$weight){
        $this->username = $username;
        $this->age = $age;
        $this->height = $height;
        $this->weight = $weight;
        self::$number++;
    }
    public function __set($name,$value){
        $this->$name = $value;
    }
    
    public function __get($name){
        return $this->$name;
    }
    /**
     * 1)static方法中不能直接使用非静态成员,因为非静态成员与实例相关,通过实例化间接使用
     * 2)static方法中不能用this(与实例相关)
     * 3)非static方法中可以使用static成员
     
*/
    static public function getUsernumber(){
        var_dump(get_called_class());
        return self::$number;
    }
    
    public function getUsername(){
        var_dump(get_called_class());
        return $this->username;
    }
    
    public function __toString(){
        return ‘‘;
    }
}
$p = new Person(‘wangfei‘,36,165,52);
echo get_class($p);

?> 

以上是关于get_class--返回对象的类名的主要内容,如果未能解决你的问题,请参考以下文章

php __CLASS__get_class()与get_called_class()的区别

php get_called_class()函数与get_class函数的区别

如何在 PHP 中模拟通过 get_class 检查的对象?

获取实例的静态属性

php父类中访问子类的静态属性

获取父类名称? [复制]