当前位置:首页 > CMS教程 > Destoon > 列表

PHP延迟静态绑定示例分享

发布:smiling 来源: PHP粉丝网  添加日期:2021-03-01 22:29:21 浏览: 评论:0 

在PHP5.3中,给类加入了关键词static,用于实现延迟静态绑定(late static binding),那么我们来看看一个示例来好好学习下,没怎么用过这个新特性,其实也不算新啦,试试吧,现在静态类的继承很方便了。

  1. <?php 
  2. class A { 
  3.  protected static $def = '123456'; 
  4.  
  5.  public static function test() { 
  6.   echo get_class(new static); 
  7.  } 
  8.  
  9.  public static function test2() { 
  10.   echo static::$def; 
  11.  } 
  12. } 
  13.  
  14. class B extends A { 
  15.  protected static $def = '456789'; 
  16. } 
  17.  
  18. class C extends A { 
  19.  protected static $def = 'abcdef'; 
  20. } 
  21.  
  22. echo B::test(); 
  23. echo '<br>'; 
  24. echo C::test(); 
  25. echo '<br>'; 
  26. echo B::test2(); 
  27. echo '<br>'; 
  28. echo C::test2(); 
  29. echo '<br>'; 
  30. echo A::test(); 
  31. echo '<br>'; 
  32. echo A::test2(); 
  33. echo '<br>'; 

输出结果:

  1. B 
  2. C 
  3. 456789 
  4. abcdef 
  5. A 
  6. 123456 

Tags: PHP延迟静态绑定

分享到: