如何使用静态方法在其父类中使用子类的静态var

Mot*_*ann 2 php oop inheritance static static-binding

我想获得在子类中重新声明的静态var的值:

    class A {

        private static $echo_var = 'PARENT_ECHO' ;

        public static function e() {
            return '$echo_var = ' . self::$echo_var ;
        }
    }

    class B extends A {

        private static $echo_var = 'CHILD_ECHO';
    }

    echo B::e();
Run Code Online (Sandbox Code Playgroud)

我想得到CHILD_ECHO.

谢谢,Mottenmann

nic*_*ass 6

访问时使用static关键字:

return '$echo_var = ' . static::$echo_var ;
Run Code Online (Sandbox Code Playgroud)

它被称为后期静态绑定.但它不适用于私人会员.你必须公开或保护它.私有属性只能在定义它们的类中访问.