繁体   English   中英

如何从父类获取子类名

[英]How to get child class name from parent class

我试图在不需要子类的功能的情况下完成这个...这可能吗? 我有一种感觉它不是,但我真的想确定...

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        static::who(); // Here comes Late Static Bindings
    }
}

class B extends A {
    public static function who() {
        echo __CLASS__;
    }
}

B::test(); //returns B
?>

使用get_called_class()而不是__CLASS__ 您还可以使用self替换static ,因为该函数将通过后期绑定为您解析类:

class A {
    public static function who() {
        echo get_called_class();
    }
    public static function test() {
        self::who();
    }
}

class B extends A {}

B::test();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM