wangming1993 / issues

记录学习中的一些问题,体会与心得 https://wangming1993.github.io/issues
8 stars 4 forks source link

PHP 静态方法中获取调用者的类名 #3

Open wangming1993 opened 8 years ago

wangming1993 commented 8 years ago

PHP 静态方法中获取调用者的类名

需求

在写一个简单的orm框架时, 需要在父类的静态方法中获取到实际调用类的信息, 而通过 __class__ , get_class() 等只能获取到当前类的类名

解决方案

使用 get_called_class() 即可获取调用类的类名

实际案例

<?php

class Model {
    public static function say() {
        echo __CLASS__;
        echo get_called_class();
    }
}
<?php
require 'model.php';

class Kid extends Model {

}

Kid::say();