欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP中new static与new self的区别

程序员文章站 2022-06-09 11:30:28
...
PHP中new static()与new self()的区别

self:始终指向self代码所在类的本身,无论这个类被继承了多少次,self都指向最初使用self的类;
static:指向使用static的类,只有通过继承后,才能体现出static存在的意义,否则static和self一样。

classA {publicfunctiongetStatic(){returnnewstatic();
    }
    publicfunctiongetSelf(){returnnewself();
    }
}
classBextendsA{}
var_dump((new B())->getSelf());//A
var_dump((new B())->getStatic());//B

疑问:
1、不知道new static()和new self()有什么用;
2、如果要使用new self(),为何不使用new A();

以上就介绍了PHP中new static与new self的区别,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。