如何在调用其他静态函数时调用函数?

时间:2015-11-20 06:12:12

标签: php

如果一次调用任何静态函数,如何自动调用函数。

class A{
    private static $val;
    public static function X(){
        return static::$val;
    }
}

class B extend A
{    

}

如果我调用B::X();,那么函数可以设置父类的$val的值。必须在不创建class B

的实例的情况下完成此操作

我想自动执行此操作。类似于构造的东西。在调用任何静态方法之前,我想自动调用一个函数

1 个答案:

答案 0 :(得分:0)

  

我可以调用B :: X();然后一个函数可以设置值   父类的$ val。必须在不创建实例的情况下完成此操作   B级

试试这个:

class A {
    protected static $val;
    public static function X(){
        return static::$val;
    }
}

class B extends A
{
    public static function X(){
        static::$val = 123;
        return parent::X();
    }
}

echo B::X();

你必须

  • private static $val;替换为protected static $val;,以便在课程B中显示属性
  • 您必须使用extends代替extend
  • 您可以使用parent::来调用父类的方法(在您的案例类A中)