大概率 PHP中static和self的区别
大概率 PHP中static和self的区别
shangshandalaohu 发表于4个月前
大概率 PHP中static和self的区别
  • 发表于 4个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

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

 

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

 

静态绑定是PHP 5.3.0,增加的一个功能 用于在继承范围内引用静态调用的类

 

简单通俗的来说,

 

self就是写在哪个类里面, 实际调用的就是这个类.

 

static代表使用的这个类, 就是你在父类里写的static,然后被子类覆盖,使用的就是子类的方法或属性

 

<?php class Person { public static function name() { echo "111"; echo "<br />"; } public static function callself() { self::name(); }

 

public static function callstatic()

{

    static::name();

}

}

 

class Man extends Person { public static function name() { echo "222"; echo "<br />"; } }

 

Man::callself(); // output: 111 Man::callstatic(); // output: 222 ?> 

 

 

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。互联网+时代,时刻要保持学习,携手千锋PHP,Dream It Possible。

共有 人打赏支持
粉丝 0
博文 34
码字总数 6669
×
shangshandalaohu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: