1. 程式人生 > >PHP中self與static

PHP中self與static

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

PHP中self與static