当前位置:首页 > 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. class B extends A { 
  14.  protected static $def = '456789'
  15.  
  16. class C extends A { 
  17.  protected static $def = 'abcdef'
  18.  
  19. echo B::test(); 
  20. echo '<br>'
  21. echo C::test(); 
  22. echo '<br>'
  23. echo B::test2(); 
  24. echo '<br>'
  25. echo C::test2(); 
  26. echo '<br>'
  27. echo A::test(); 
  28. echo '<br>'
  29. echo A::test2(); 
  30. echo '<br>'

输出结果:

  1. 456789 
  2. abcdef 
  3. 123456 

Tags: PHP延迟静态绑定

分享到: