PHP中self与static

  • 所谓延迟静态绑定,顾名思义,静态调用时::符号左侧的部分的的绑定是延迟,也就是说不再被解析为定义当前方法所在的类,而是在实际运行时计算的。
class A {
    public static function who() {
        echo __CLASS__.PHP_EOL;
    }
    public static function test() {
        self::who();
    }
    public static function test2() {
        static::who();
    }
}

class B extends A {
    public static function who() {
        echo __CLASS__;
    }
}
B::test();//A
B::test2();//B

猜你喜欢

转载自blog.51cto.com/phpme/2128213
今日推荐