码迷,mamicode.com
首页 > 其他好文 > 详细

get_called_class--后期静态绑定("Late Static Binding")类的名称

时间:2016-02-03 18:24:35      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

get_called_class--后期静态绑定("Late Static Binding")类的名称

string get_called_class ( void )

获取静态方法调用的类名。

返回类的名称,如果不是在类中调用则返回 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_person1 = new Person(‘zhaofei‘,23,185,62);
echo $p_person1->getUsername();
$p_person2 = new Person(‘zhaofei1‘,24,165,68);
$p_person3 = new Person(‘zhaofei2‘,23,180,82);
$p_person4 = new Person(‘zhaofei3‘,22,175,72);
echo Person::getUsernumber();

?> 

get_called_class--后期静态绑定("Late Static Binding")类的名称

标签:

原文地址:http://www.cnblogs.com/zhouguowei/p/5180289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!