[PHP语言] 区别PHP中new self() 和 new static()

[复制链接]
查看901 | 回复7 | 2020-10-31 15:05:50 | 显示全部楼层 |阅读模式

PHP中new self() 和 new static() 的区别

new static() 是在php5.3版本引入的新特性

new static 和 new self() 都是 new 一个对象

直接看代码

class Father
{
    public function getNewFather()
    {
        return new self();
    }
  
    public function getNewCaller()
    {
        return new static();
    }
}
  
$f = new Father();
  
var_dump(get_class($f->getNewFather())); // Father
var_dump(get_class($f->getNewCaller())); // Father

getNewFather和getNewCaller 都是返回的 Father 这个实列

到这里貌似 new self() 还是 new static() 是没有区别的

接着看下面的示例

class Sun1 extends Father{
  
}
  
$sun1 = new Sun1();
  
var_dump($sun1->getNewFather()); // object(Father)#4 (0) { }
var_dump($sun1->getNewCaller()); // object(Sun1)#4 (0) { }

getNewFather 返回的是Father的实列,

getNewCaller 返回的是调用者的实列

他们的区别只有在继承中才能体现出来、如果没有任何继承、那么二者没有任何区别

new self() 返回的实列是不会变的,无论谁去调用,都返回的一个类的实列,

new static则是由调用者决定的。

推荐教程:《PHP视频教程》

以上就是区别PHP中new self() 和 new static()的详细内容,更多请关注爱上源码网其它相关文章!

  • 微信
  • 分享
  • 相关标签:new self() new static()
  • 本文转载于:liqingbo,如有侵犯,请联系916990011@qq.com删除
    • 上一篇:在php 中使用PDO MySQL的扩展
    • 下一篇:处理PHP strtotime的BUG

    相关文章

    相关视频

    • NodeJs能实现PHP所有的功能吗?
    • jQuery里面能不能写PHP方法?
    • 详解PHP中self关键字
    • PHP7 内核之 FAST_ZPP 详解
    • 区别PHP中new self() 和 new st...
    • PhpSpreadsheet是什么
    • ThinkPHP6.0 视图
    • ThinkPHP6.0 请求
    本文有爱上源码下载完入驻作者发布,如果对您版权造成侵害,可以联系本站站长管理进行维权删除,本站收到维权24小时内进行处理,谢谢您关注23ym.cn! 本站分享大量程序员技术文章以及对编程开发的初级入门教程,包括图文讲解笔记和高清视频下载~
    回复

    使用道具 举报

    鬼子进了村部 | 2021-3-14 17:50:23 | 显示全部楼层
    站长真良心,这么大的资源站都是免费下载
    回复

    使用道具 举报

    945坏男人 | 2021-3-18 10:08:50 | 显示全部楼层
    站长真良心,这么大的资源站都是免费下载
    回复

    使用道具 举报

    马马虎虎770 | 2021-12-28 15:11:04 | 显示全部楼层
    有情怀的站啊,爱了
    回复

    使用道具 举报

    梦的衣裳323 | 2022-6-2 05:06:40 | 显示全部楼层
    支持悟空源码,越来越好
    回复

    使用道具 举报

    白刃玄衣及 | 2022-8-20 19:10:49 | 显示全部楼层
    悟空源码资源不错。粉了
    回复

    使用道具 举报

    123457294 | 2023-3-31 08:07:46 | 显示全部楼层
    祝愿悟空源码越办越好!
    回复

    使用道具 举报

    聪聪451 | 2023-6-19 04:47:13 | 显示全部楼层
    找了很多地方都不能下载,终于在悟空源码找到了
    回复

    使用道具 举报

    后果后我买卖顺 | 2024-2-20 11:24:17 | 显示全部楼层
    6666悟空源码资源多!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则