博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
static 和 self的区别
阅读量:2305 次
发布时间:2019-05-09

本文共 556 字,大约阅读时间需要 1 分钟。

self - 就是这个类,是代码段里面的这个类。

static - PHP 5.3加进来的只得是当前这个类,有点像$this的意思,从堆内存中提取出来,访问的是当前实例化的那个类,那么 static 代表的就是那个类。

class A {
public function create1() {
return new self(); } public function create2() {
return new static(); }}class B extends A {
}$objA = new A();echo get_class($objA->create1());echo get_class($objA->create2());echo "
";$obj = new B();echo get_class($obj->create1());echo get_class($obj->create2());显示结果如下:AAAB

从上述代码就可以清晰的看出,new self 实例化的是代码区块所在的类,

new static 实例化的是在当前类(如果是子类,实例化的就是子类,即使方法是写在父类中);

转载地址:http://busib.baihongyu.com/

你可能感兴趣的文章
关于Margin(外边距)
查看>>
css分组合嵌套选择器
查看>>
CSS Display(显示)和visibility(可见性)
查看>>
js for循环倒序输出数组元素
查看>>
css中使用!important优先级最高问题
查看>>
css中position:fixed;
查看>>
position属性:absolute与relative的区别
查看>>
强制显示隐藏浏览器滚动条css
查看>>
用户登录用表单提交和ajax提交的问题
查看>>
关于让网页背景图片全屏显示处理
查看>>
display,visibility和visible的区别
查看>>
关于ul里面li类名都相同时把div父节点删除
查看>>
关于实现获取span标签的值加1后赋值给原来的标签
查看>>
闭关开发总结
查看>>
ajax同步和异步问题
查看>>
比较两个数组值相同和值不同返回另一个数组
查看>>
元和分单位转换
查看>>
标准时间格式与时间戳的转化
查看>>
字符串转时间格式
查看>>
拿到最新日期及前一天
查看>>