位置: 编程技术 - 正文

浅谈PHP中new self()和new static()的区别(php use function)

编辑:rootadmin

推荐整理分享浅谈PHP中new self()和new static()的区别(php use function),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:phpforeach,php throw new,php instanceof self,php self static,php中self的用法,php中self的用法,php new self,php new self,内容如对您有帮助,希望把文章链接给更多的朋友!

&#;本文介绍了PHP中new self()和new static()的区别,分享给大家,也给自己留个笔记。

1.new static()是在PHP5.3版本中引入的新特性。

2.无论是new static()还是new self(),都是new了一个新的对象。

3.这两个方法new出来的对象有什么区别呢,说白了就是new出来的到底是同一个类实例还是不同的类实例呢?

为了探究上面的问题,我们先上一段简单的代码:

注意,上面的代码get_class()方法是用于获取实例所属的类名。

这里的结果是:无论调用getNewFather()还是调用getNewCaller()返回的都是Father这个类的实例。

打印的结果为:FatherFather

浅谈PHP中new self()和new static()的区别(php use function)

到这里,貌似new self()和new static()是没有区别的。我们接着往下走:

看上面的代码,现在这个Father类有两个子类,由于Father类的getNewFather()和getNewCaller()是public的,所以子类继承了这两个方法。

打印的结果是:FatherSun1FatherSun2

我们发现,无论是Sun1还是Sun2,调用getNewFather()返回的对象都是类Father的实例,而getNewCaller()则返回的是调用者的实例。

即$sun1返回的是Sun1这个类的实例,$sun2返回的是Sun2这个类的实例。

现在好像有点明白new self()和new static()的区别了。

首先,他们的区别只有在继承中才能体现出来,如果没有任何继承,那么这两者是没有区别的。

然后,new self()返回的实例是万年不变的,无论谁去调用,都返回同一个类的实例,而new static()则是由调用者决定的。

上面的$sun1->getNewCaller()的调用者是$sun1对吧!$sun1是类Sun1的实例,所以返回的是Sun1这个类的实例,$sun2同样的道理就不赘述了。

好了,关于PHP中new self()和new static()的区别就暂时说这么多,希望对读者的理解有所帮助,如果有不对的地方欢迎拍砖扔蛋。也希望大家多多支持积木网。

浅谈Laravel中的一个后期静态绑定 关于PHP的newstatic延迟静态绑定,或者叫后期静态绑定,在Laravel中遇到一个使用上的问题。如下,在Laravel中调用Model新增数据的时候,首先给Model加了一

php readfile()修改文件上传大小设置 使用PHPZipArchive生成的压缩包,小的压缩包都能下载,今天遇到个M以上的就报错误,第一想到的就是文件大小超出了PHP默认设置,修改方法有两个:

Redis在Laravel项目中的应用实例详解 前言本文主要给大家介绍了关于Redis在Laravel项目中的应用实例,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:在初步了解Redis在

标签: php use function

本文链接地址:https://www.jiuchutong.com/biancheng/289976.html 转载请保留说明!

上一篇:php使用 readfile() 函数设置文件大小大小的方法(php使用什么开发工具)

下一篇:浅谈Laravel中的一个后期静态绑定(laravel enum)

  • 个税应纳税所得额计算公式
  • 微信转账报销怎么转换成文字
  • 业务招待费扣除基数的收入包括哪些
  • 个人购买商铺如何缴税
  • 权益法核算投资收益
  • 结转已销售材料成本会计分录
  • 过期增值税发票怎么处理
  • 当月开的发票次月预缴税款行得通吗?
  • 没收土地竞买保证金政策法律
  • 没收租赁保证金开什么内容的发票
  • 二手车融资租赁公司
  • 纸箱报废处理怎么做账
  • 个人所得税0申报逾期
  • 税控盘开票显示操作未授权
  • 定期定额户需要自己申报吗
  • 本月暂估入库,下月
  • 员工入职体检表格模板
  • 本月开了负数发票怎么开
  • 个人技术投资入什么科目
  • 利息如何做会计分录
  • 错账查找的方法
  • deepin安装windows字体
  • 交通费用扣除标准
  • 苹果手机下载手机克隆哪个版本
  • 检验费用会计分录
  • nalntsrv.exe - nalntsrv是什么进程 有什么用
  • 代销商品受托方记账
  • linux创建一个文件并写入内容
  • win 11怎么安装
  • debian更换国内源教程
  • 圣何塞在哪
  • img标签铺满div
  • php curl_exec
  • 人工智能讲解
  • 帝国cms上传视频半天没反应
  • 6款好用的ppt制作软件推荐
  • 企业盈利不交所得税的办法
  • 差旅费取得发票怎么处理
  • 小企业库存商品会计分录
  • 年度结转增值税
  • python中如何创建文件
  • 本年利润贷方余额表示盈利还是亏损
  • 什么是备抵类账户
  • 房地产公司测绘费怎么做会计分录
  • 临时工工资由谁发
  • 收到退还的增值税
  • 应付账款暂估款的账务处理
  • 一般纳税人购入固定资产进项抵扣
  • 自用房地产转换为采用成本模式计量的投资性房地产
  • 不动产在建工程领用原材料进项税额可以抵扣吗
  • 应交税金应交增值税
  • 库存现金管理是财务分析的吗
  • 主播收钱违法吗
  • 没有期初数据如何建账
  • mysql中count(), group by, order by使用详解
  • window下mysql忘记密码
  • ubuntu如何回到桌面
  • windows pe无法启动怎么办
  • ubuntu16.04.7
  • linux 解析
  • linux error 27:unrecognized command
  • win7怎么样激活
  • linux rsyslogd
  • win8程序和功能在哪
  • jquery和dom对象之间怎么转换
  • jquery deferred对象
  • 从零开始学什么好
  • unity unity3d
  • javascript高级程序设计pdf百度云
  • APP中javascript+css3实现下拉刷新效果
  • java script教程
  • python中import导入模块的方法
  • 国税总局201439号公告
  • 河南电子税务局官网入口
  • 税务师事务所行政登记表怎么办理
  • 山东社保费缴纳多少
  • 婚姻登记处婚俗改革宣传
  • 增值税发票勾选是什么意思
  • 商铺收税多少
  • 租房税费怎么算的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设