位置: 编程技术 - 正文

浅谈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)

  • 退回多交城建税税金会计分录
  • 社保是当月计提当月的吗
  • 招待费专票不可以抵扣
  • 税务季报利润表的本年累计可以更改吗
  • 外聘人员需要申报个税吗
  • 暂估材料收到发票后是更正还是红冲
  • 产品样品送样流程
  • 营改增后房地产企业账务处理
  • 自行研发的无形资产会计处理
  • 购销合同印花税最新政策2023
  • 支票去银行怎么进账
  • 委托加工白酒消费税计税依据
  • 建筑业企业分包出克的是否能上报
  • 客户可以把现金存入对公户吗
  • 公司进项销项税差异较大
  • 认证过的进项税怎么记账
  • 转出未交增值税怎么算
  • 小微企业从业人数包括
  • 企业购进固定资产进项税如何抵扣
  • 筹备期间的开办企业是指
  • 行政单位缴纳罚款如何记账
  • 报销抵冲银行日记帐要怎么入帐?
  • 自然人税收管理扣缴端(原个税)申报实训
  • 增值税纳税申报实训心得体会
  • 1697508577
  • 委托代理出口能否办理退税
  • 局域网内如何设置静态ip
  • 企业废业怎样做会计分录
  • 预付账款怎样记账
  • 结算起点为
  • 无形资产的摊销应计入什么科目
  • 公司增资的方式有什么
  • php中提交表单数据
  • 未抵扣的固定资产处理
  • 销售折让怎么开票
  • php调用方法
  • 小企业会计准则适用于哪些企业
  • 非货币性资产投资计入什么科目
  • 最贵的手机苹果
  • php redis实现秒杀思路
  • 得了遗尿症应该怎么办
  • 银行贷款利息已划转支付
  • 按实际成本结转6日和7日的材料采购成本
  • 使用一个for循环每次输入一个姓名和得分
  • phpsession和cookie
  • 税费滞纳金计入增值税吗
  • 个人所得税法实施细则2023
  • 已经抵扣的进项税额转出会计分录
  • 政府补助的相关法律法规
  • 地税发票丢失应如何处理
  • 经营活动现金流量净额是什么意思
  • 计划成本法下的会计科目
  • 个人开技术服务费
  • 租入的房子再出租用交房产税吗?
  • 飞机票没有发票只有行程单
  • 转回存货跌价准备对递延所得税资产的影响
  • win8局域网共享设置
  • qplus.exe是什么进程
  • watchdog. sys
  • ctfmon.exe成功怎么解决
  • win7系统的虚拟内存在哪里
  • 如何解决windows激活问题
  • win10提示空闲计时器已过期
  • win7系统如何隐藏盘符
  • 很不错的成语
  • cocos creator内存性能优化
  • node.js使用的v8引擎是由哪个公司开发的
  • win10文件类型选项
  • js新开一个窗口
  • nodejs怎么使用
  • Unity AssetBundle爬坑手记
  • javascript中变量的命名规则有哪些?
  • javascript 默认参数
  • Javascript Object.extend
  • 如何理解javascript
  • android数据存储文件读写实验
  • python3连接pg执行命令
  • 山西省地方税务局 先进 文明 李家庄税务所
  • 用电稽查工作总结
  • 企业所得税优惠事项管理目录2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设