服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - PHP教程 - PHP中类静态调用和范围解析操作符的区别解析

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

2019-10-26 15:50Lenix Blog PHP教程

这篇文章主要介绍了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

总结

以上所述是小编给大家介绍的PHP中类静态调用和范围解析操作符的区别解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

延伸 · 阅读

精彩推荐