不使用后期静态绑定
<?php
class A {
public static function who () {
echo __CLASS__ ;
}
public static function test () {
self :: who ();
}
}
class B extends A {
public static function who () {
echo __CLASS__ ;
}
}
B :: test ();
?>
以上例程会输出:
A
使用静态绑定
<?php
class A {
public static function who () {
echo __CLASS__ ;
}
public static function test () {
static:: who (); // 后期静态绑定从这里开始
}
}
class B extends A {
public static function who () {
echo __CLASS__ ;
}
}
B :: test ();
?>
以上例程会输出:
B
未完:还有“非静态环境下使用 static::”