问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

3分钟短文 | PHP new self 跟 new static 啥区别?

发布网友 发布时间:2024-12-02 12:17

我来回答

1个回答

热心网友 时间:2024-12-02 16:42

在PHP类创建过程中,self和static作为类本身的引用与类对象的引用使用上存在细微差别。尤其在类继承时,self可能带来意外结果,因此建议使用static作为类本身的引用。

self总是指向new关键字声明的类,而static在静态绑定中可指向层级结构中的任意类。例如,类B继承了类A的方法,对于get_self方法,返回类A本身。而static返回调用者的类,谁调用,static就指向谁。而self持续指向声明的类。

实例中,类A使用static静态方法,动态方法则需要函数get_class获取类名。方法create2使用new static(),返回类B本身。方法create1使用get_class($this)通过对象本身获取类名,返回类B本身。

区分self与静态引用的关键在于,self无需实例化即可使用其方法,而static需要实例化后作为对象的引用。在属性赋值时,只能使用非静态绑定的对象,self则能使用。

正确写法中,self引用类本身,调用类静态方法也完全可行。

在程序架构中,基类设计至关重要,需要详细规划和细分业务关系。熟练掌握self, static, $this这些高频关键字,对于编程实践尤为重要。

祝您编程愉快!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
悲观的意思是什么悲观是什么意思 ...坐立不安的。还总想挠挠手呀、胳膊什么的。这是怎么回事啊?是一种... ...胳膊肘麻,有时会麻到感觉大拇指根部疼,食指也有点... ...入睡感觉左胳膊从手腕到肩膀酥溜溜的酸,睁开眼又好了,什么原因... 胳膊上麻溜溜的 像是有小疙瘩 还很痒 有点硬 少量蔗糖,食盐,食油,食醋分别倒入一定量水中,并用筷子不断搅拌,观察... 将食盐 蔗糖 泥土 植物油与水混合 英文会计的provision对应中文会计的哪个词啊? 双人旁一个直一个心念什么,什么意思 白瓷有隙是成语吗 为什么会自动换壁纸 为什么壁纸自动更换 9大行星大小排列顺序 天龙八部里的光武怎么弄? 和田黄玉都有哪些品种 关于美眉梦工厂的一堆问题 美眉梦工厂服务器S17为什么登陆不上 美眉梦工厂NPC问题,高手解。 美眉梦工厂 什么衣服一套加的冷静最多啊 美少女梦工厂的网址是???(不下载) 成人情趣商店 pdf文件打不开是什么原因? 黄金脆皮鸡的做法 驾驶证被盗扣24分怎么报警 驾驶证被盗用暂扣这么办 减怎么读减如何读 破刃之剑有没有第二季 别人的苹果ID登录我的苹果机有影响吗 迪兰恒进HD3450晶钻迪兰恒进HD3450晶钻详细参数 迪兰恒进HD3450娱乐版迪兰恒进HD3450娱乐版详细参数 向Vector中添加带有static参数的类,为什么整个Vector都不好了 梦幻西游怎么才能赚钱快,多少级跑环好? 梦幻西游怎样最快升级? 梦幻西游盘丝55级后怎么升级最快?怎么赚钱最快?谢谢! 卐字才是正宗的佛家符号 意义为吉祥 希特勒的旗帜也是这个卐,但是和 ...轴心死魔纳粹希特勒在二战使用的符号是佛教"卐"字来作为法西斯标志... “卐”是纳粹标志,"卍"是佛教里的标志,你知道吗? RTX 3090 Ti SUPRIM X 24G评测跑分参数介绍 NVIDIA RTX 3080/3090核心规格全面曝光,9月发布真相如何? ...iGame GeForce RTX 3090 Neptune OC 显卡 24GB-详细介绍 NVIDIA 英伟达 RTX 3090 显卡-购买最佳价格 为什么会收到验证码,怎么回事儿? 痛则不通”这句话是什么意思? 2012年阳历9月28(阴历8月13) 晚8点半左右出生的女孩 五行是什么?缺什么... 生化危机8碎窗者挑战攻略及城堡窗户位置介绍介绍_生化危机8碎窗者挑... 生化危机8乌鸦怎么打快_生化危机8乌鸦成就与破窗者达成方法 《生化危机8》碎窗者挑战攻略及城堡窗户位置一览 生化危机8白金攻略_生化危机8白金小心得_生化危机8多周目白金注意事项... 桥台和桥墩的区别是什么啊? 离婚后女方一半有公司股份能赔偿吗