有人可以帮我理解PHP类中的变量/函数继承.
我的父类有一个由所有子类使用的函数.但是,每个子类都需要在此函数中使用它自己的变量.我想静态地调用子类中的函数.在下面的示例中,将显示"world",而不是子类中的值.
任何人都可以解释我如何获得函数来回显子类中的值.我应该使用接口吗?这是否与后期静态绑定有关(由于使用5.3.3之前版本的PHP,我无法使用)?
class myParent
{
static $myVar = 'world';
static function hello()
{
echo self::$myVar;
}
}
class myFirstChild extends myParent
{
static $myVar = 'earth';
}
class mySecondChild extends myParent
{
static $myVar = 'planet';
}
myFirstChild::hello();
mySecondChild::hello();
Run Code Online (Sandbox Code Playgroud)
是的,你不能那样做。的声明static $myVar不会以任何方式相互交互,正是因为它们是静态的,是的,如果你有 5.3.0,你可以绕过它,但你没有,所以你不能。
我的建议是只使用非静态变量和方法。