PHP学习笔记之:后期静态绑定的用法

不使用后期静态绑定

 

[php] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. <?php  
  2.  class  A  {  
  3.     public static function  who () {  
  4.         echo  __CLASS__ ;  
  5.     }  
  6.     public static function  test () {  
  7.          self :: who ();  
  8.     }  
  9. }  
  10.    
  11. class  B  extends  A  {  
  12.     public static function  who () {  
  13.         echo  __CLASS__ ;  
  14.     }  
  15. }  
  16.    
  17. B :: test ();  
  18.  ?>   

 

以上例程会输出:

A

 

 

使用静态绑定

 

[php] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. <?php  
  2.  class  A  {  
  3.     public static function  who () {  
  4.         echo  __CLASS__ ;  
  5.     }  
  6.     public static function  test () {  
  7.         static:: who ();  // 后期静态绑定从这里开始  
  8.      }  
  9. }  
  10.    
  11. class  B  extends  A  {  
  12.     public static function  who () {  
  13.         echo  __CLASS__ ;  
  14.     }  
  15. }  
  16.    
  17. B :: test ();  
  18.  ?>   

以上例程会输出:

B


未完:还有“非静态环境下使用 static::”

posted @ 2016-12-27 17:30  天涯海角路  阅读(106)  评论(0)    收藏  举报