php后期静态绑定

PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类,这个是php官方的解释,即在类的继承过程中,使用的类不再是当前类,而是调用类。

后期静态绑定使用关键字static来实现,通过这种机制,“static::”不在解析为定义当前方法所在的类,而是在实际运行时计算得到的,即运行时最初调用的类。

虽然将其称之为“后期静态绑定”,但它不仅限制于静态方法的调用。

 1 class A{
 2     public static function call(){
 3         echo "class A<br/>";
 4     }
 5     public static function test(){
 6         self::call();
 7         static::call();
 8     }
 9 }
10 class B extends A{
11     public static function call(){
12         echo "class B";
13     }
14 }
15 
16 echo (B::test());
17 //输出结果:
18 //class A
19 //class B

 

posted @ 2018-07-09 09:51  echo曦  阅读(194)  评论(0编辑  收藏  举报