首页  >  文章  >  后端开发  >  php静态绑定详细讲述

php静态绑定详细讲述

韦小宝
韦小宝原创
2018-03-14 12:44:511210浏览

本篇文章简单的讲述了PHP中的静态绑定,对于PHP中的静态绑定不太熟悉的同学可以一起来看看本篇关于php静态绑定的文章哦!

后期静态绑定工作原理是存储了在上一个“非转发调用”(non-forwarding call)的类名。

  • 当进行静态方法调用时,该类名即为明确指定的那个(通常在 :: 运算符左侧部分);

  • 当进行非静态方法调用时,即为该对象所属的类。

所谓的“转发调用”(forwarding  call)指的是通过以下几种方式进行的静态调用self::parent::static:: 以及forward_static_call() 。可用 get_called_class()函数来得到被调用的方法所在的类名,static:: 则指出了其范围。

self:: 的限制

使用 self:: 或者 CLASS 对当前类的静态引用,取决于定义当前方法所在的类:

例:

class  A  {
    public static function  who () {
        echo  CLASS ;
    }
    public static function  test () {
         self :: who ();
    }
}

class  B  extends  A  {
    public static function  who () {
        echo  CLASS ;
    }
}

B :: test ();

结果:

// A

以上讲述本篇文章的所有内容,大家在看过之后肯定是感觉很迷糊的,希望大家可以结合例子多看并自己实现两篇!

相关推荐:



PHP后期静态绑定实例分享

PHP OOP之后期静态绑定

以上是php静态绑定详细讲述的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn