长夜漫漫啊!

今天领导本地搭建一个站。发现用PHP 5.2 搭建不起来,站PHP代码里面有很多5.3以上的部分,领导让苦逼我更改在5.2下能运行。
改着改着发现了一个地方
复制代码 代码如下:
return new static($val);
这尼玛是神马,只见过
复制代码 代码如下:
return new self($val);
于是上网查了下,他们两个的区别。
self – 就是这个类,是代码段里面的这个类。
static – PHP 5.3加进来的只得是当前这个类,有点像$this的意思,从堆内存中提取出来,访问的是当前实例化的那个类,那么 static 代表的就是那个类。
还是看看老外的专业解释吧。
self refers to the same class whose method the new operation takes place in.
static in PHP 5.3's late static bindings refers to whatever class in the hierarchy which you call the method on.
In the following example, B inherits both methods from A. self is bound to A because it's defined in A‘s implementation of the first method, whereas static is bound to the called class (also see get_called_class() ).
复制代码 代码如下:
class A {
public static function get_self() {
return new self();
}
public static function get_static() {
return new static();
}
}
class B extends A {}
echo get_class(B::get_self()); // A
echo get_class(B::get_static()); // B
echo get_class(A::get_static()); // A
这个例子基本上一看就懂了吧。
原理了解了,但是问题还没有解决,如何解决掉 return new static($val); 这个问题呢?
其实也简单就是用 get_class($this); 如下
复制代码 代码如下:
class A {
public function create1() {
$class = get_class($this);
return new $class();
}
public function create2() {
return new static();
}
}
class B extends A {
}
$b = new B();
var_dump(get_class($b->create1()), get_class($b->create2()));
/*
The result
string(1) "B"
string(1) "B"
*/
相关推荐:
seo种草什么意思,seo yoo na ,三维地震反演AI
ChatGPT发生故障,背后隐藏着哪些不为人知的原因与挑战?,硬件ai和软件ai
ChatGPT不能访问,我的学术水平直线下降,泰州大数据ai艾灸价格
seo规范是什么意思,seo包括哪些内容 ,AI智能破解
AI一键生成文章网页版,让内容创作更简单高效
SEO笔记:如何打造高效的SEO策略提升网站排名,网站优化优质服务方案
SEO阶段解析:从入门到精通,助你站稳搜索引擎的前沿,网站建设特定开发
“新关键词”开启智慧营销新篇章,助力品牌突围,自己如何做网站seo
线上AI写作免费一键生成,轻松提升写作效率,解放创作思维
ChatGPTApp怎么调大字体?提升阅读体验,让文字更清晰,推荐ai音频
ChatGPT支付时银行卡被拒绝?教你几招轻松解决问题!,国内ai换图
ChatGPT:人工智能对话新时代的领航者,ai音响华为还是小米好
目前AI软件有哪些?智能新时代的必备工具
优化分析:提升企业效益的关键策略,山东大网站建设
ChatGPT连了外网也登不了?如何解决这一问题,重新畅享AI助力!,ai少女大瓜
实用AI工具:提升效率、优化生活的科技利器
AI助手Stut:智能时代的创新引擎,开启未来工作新篇章,ai对ai的格斗游戏
AI人工智能文章生成器写作新纪元
SEO搜索关键词是什么意思?让你轻松网站流量的秘密!,ai颜色不对
SEO工装裤-打造时尚与实用兼备的工作利器,ai画中国爸爸辅导孩子写作业
SEO本站:提升网站流量与排名的秘密武器,荆门专业的抖音seo
SEO前的准备工作:如何让网站为搜索引擎优化做好充分准备,SEO_网站排名优化_网络推广
AI搜索写文章是什么意思?人工智能赋能内容创作的未来,高德地图 ai
seo用到什么软件,做seo需要用到什么软件 ,皮皮ai
ChatGPT出现报错503?这些解决办法你必须知道!,粉墨ai说唱
怎样用AI写文章?快速高效创作新技能!
ChatGPT宕机恢复时间如何解决用户焦虑与技术背后的故事,ai人工智能写作火山
SEO做好,企业网站流量翻倍的关键,seo白帽技术有哪些
为什么关键词太少会影响你的网络营销效果?,陕西seo网站推广工具
ChatGPT:引领智能对话新潮流,助力未来科技,ai写作免费议论文
ChatGPT怎么有梯子?突破网络限制,轻松畅享AI智能,ai对唱音响
AI翻译工具的革命-ChatGPT等技术让语言互通无碍,淘宝ai写作检测准吗
ChatGPT进不去怎么办?解决方案与技巧,轻松畅享智能对话,ai va
从零到一:网站历史的演变与未来趋势,肇庆市国外网站建设平台
ChatGPTO1免费:突破智能聊天的极限,体验AI无限可能,糯米ai唱歌
ChatGPT不能打开EL?揭秘这一困扰背后的真相与解决方案,ai被动房
seo要学会什么,seo要学多长时间 ,NTU AI 录取
SEO地位:如何提升你的网站排名与曝光度,抢占市场先机,微营销网络推广
seo站内关键词优化,seo关键词优化经验技巧 ,ai 优点
亚马逊站内seo是什么优化,亚马逊seo关键词优化软件 ,ai画卡通章鱼
ChatGPT无法加载?检查网络并尝试重启,助您快速恢复畅通体验,burj ai
ChatGPT:如果您正在使用VPN,这些技巧您一定要知道!,AI换脸*H
SEO薪资这些,你也能月入过万!,天水网站建设公司
ChatGPT免登录:轻松畅聊,无需注册,快速体验AI智能助手,眼泪ai
为什么要seo排名,为什么要做seo推广 ,AI写作开启创意新世界
ChatGPT破解:人工智能未来的无限可能,污污AI解说
“只能写作”:在创作的世界里,选择文字,就是选择自由,云南关键词排名推广报价
SEO大神如何在激烈的互联网竞争中脱颖而出?,网页设计和网站建设试题
在线AI写文:开启高效创作新时代
SEO要求:如何优化网站提升搜索引擎排名,助力企业获取更多流量,鹤山区网站运营推广