当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP中类静态调用和范围解析操作符的区别解析

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-27 10:52:03 浏览: 评论:0 

这篇文章主要介绍了PHP中类静态调用和范围解析操作符的区别,需要的朋友可以参考下,具体代码如下所示:

  1. <?php 
  2. //在子类或类内部用“::”调用本类或父类时,不是静态调用方法,而是范围解析操作符。 
  3. class ParentClass { 
  4.  public static $my_static = 'parent var '
  5.  function test() { 
  6.   self::who(); // 输出 'parent' 是范围解析,不是静态调用 
  7.   $this->who(); // 输出 'child' 
  8.   static::who(); // 延迟静态绑定 是范围解析,不是静态调用 
  9.  } 
  10.  function who() { 
  11.   echo 'parent<br>'
  12.  } 
  13. class ChildClass extends ParentClass { 
  14.  public static $my_static = 'child var '
  15.  function who() { 
  16.   echo 'child<br>'
  17.  } 
  18. $obj = new ChildClass(); 
  19. $obj->test(); 
  20. echo ChildClass::$my_static;//静态调用 

上面输出:

parent

child

child

child var

Tags: PHP类静态调用 PHP解析

分享到: