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'