源码地址:https://github.com/wilfordw/phpTutorial
该系列我只写我的理解,非官方解释,如不够专业请见谅
后期静态绑定说白了就是对于静态方法,在继承过程中引入static
关键字替代self
来达到静态方法的继承目的。如下代码
<?php
class A
{
static public function callFuncXXOO()
{
print self::funcXXOO();
}
static public function funcXXOO()
{
return "A::funcXXOO()";
}
}
class B extends A
{
static public function funcXXOO()
{
return "B::funcXXOO";
}
}
$b = new B;
$b->callFuncXXOO();//A::funcXXOO()
class C
{
static public function callFuncXXOO()
{
print self::funcXXOO();
}
static public function funcXXOO()
{
return "C::funcXXOO()";
}
}
class D extends C
{
static public function funcXXOO()
{
return "D::funcXXOO";
}
}
$d = new D;
$d->callFuncXXOO();//C::funcXXOO()
用static
实现引用子静态方法覆盖父静态方法