百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> PHP后期静态绑定之self::限制实例剖析
分享文章到:

PHP后期静态绑定之self::限制实例剖析

发布时间:05/20 来源:未知 浏览: 关键词:

本文实例讲述了PHP后期静态绑定之self::限制。分享给大家供大家参考,详细如下:

在此我想讲一讲后期静态绑,我想讲self::static停止比较说明。

官方文档上是这样定义的:

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

在此我想用官方文档上的一个例子来说明self::限制:

self::实例

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=new B();
$B->test();`

输出结果为:

A

static实例:

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=new B();
$B->test();

输出结果为:

B

留意,留意啦!这里用的是:static::,之前很少在PHP中见过这种写法吧?看到static::,不禁想起来:self:: parent::

在此我想把self:: static:: parent::停止一个比较:

  • self:: 平常指向类本身,也就是self是不指向任何已经实例化的对象,一般self使用来指向类中的静态变量(不可以指向非静态变量),但是可以访问类中其他静态办法与非静态办法。它是当前类的指针。
  • parent:: 是指向父类的指针,一般我们使用parent来调用父类的结构函数。但也可以访问父类的其他办法(不可以访问其他静态与非静态变量)。
  • static:: 平常用于后期静态绑定中。
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有155人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板