6.10.4 延迟静态绑定
PHP 5.3版本引入了延迟静态绑定(late static binding)的概念,该特性允许在一个静态继承的上下文中对一个被调用类的引用。父类可以使用子类重载的静态方法。如下所示的是PHP手册提供的延迟静态绑定示例:
<?php
class A{
public static function who(){
echoCLASS;
}
public static function test(){
static::who();//Here comes Late Static Bindings
}
}
class B extends A{
public static function who(){
echoCLASS;
}
}
B::test();
?>
以上代码的输出如下所示:
B
无论类是否被重载,允许在运行时调用类的引用将为你的类提供更多的功能。
关于延迟静态绑定得更多信息和示例,请参阅PHP手册:
http://www.php.net/manual/en/language.oop5.late-static-bindings.php