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