static::$var 会强制使用当前调用对象所属类中的变量 $var 的值。表现条件:类的继承。
案例一:
class a{
static protected $test="class a";
public function static_test(){
echo static::$test; //class b
echo self::$test; //class a
}
}
class b extends a{
static protected $test="class b";
}
$obj = new b();
$obj->static_test();
案例二:
class par{
const v='A';
public function f1()
{
echo static::v;//静态绑定static::
}
public function f2()
{
echo self::v;
}
}
class child extends par{
const v='B';
}
$b=new child();
$b->f1(); //result: 'B'
echo '<br>';
$b->f2(); //result: 'A'
关注公众号,了解更多it技术(it问答网)