如果一次调用任何静态函数,如何自动调用函数。
class A{
private static $val;
public static function X(){
return static::$val;
}
}
class B extend A
{
}
如果我调用B::X();
,那么函数可以设置父类的$val
的值。必须在不创建class B
。
我想自动执行此操作。类似于构造的东西。在调用任何静态方法之前,我想自动调用一个函数
答案 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
中)