• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP中的后期绑定

php 搞代码 3年前 (2022-01-23) 17次浏览 已收录 0个评论

先看一个例子:

<code><?php    class A {        public s<mark>6来源gaodaimacom搞#^代%!码网</mark><strong>搞gaodaima代码</strong>tatic function who() {            echo __CLASS__;        }        public static function test() {            self::who();        }    }        class B extends A {        public static function who() {            echo __CLASS__;        }    }        B::test();?></code>

输出:

<code>A</code>

如果使用后期绑定:

<code><?php    class A {        public static function who() {            echo __CLASS__;        }        public static function test() {            static::who(); // 后期静态绑定从这里开始        }    }        class B extends A {        public static function who() {            echo __CLASS__;        }    }        B::test();?></code>

输出:

<code>B</code>

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

“后期绑定”的意思是说,static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用。

以上就介绍了 PHP中的后期绑定,包括了静态方法方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP中的后期绑定
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址