AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
| 类的实例化, new static() 和 new self()区别 | | | --- | --- | ``` <?php class Father { public function getStatic() { return new static(); } public function getSelf() { return new self(); } } $new = new Father(); var_dump(get_class($new->getStatic())); #Father var_dump(get_class($new->getSelf())); #Father #通过实例化可看出调用的是本类,所以看不出 new static() 和 new self() 的区别,当有子类继承是才可以体现出来 #当通过子类调用的时候通过实例化子类调用的时候可明显的看出来 class Son extends Father { } class Son1 extends Father { } $son = new Son(); $son1 = new Son1(); var_dump(get_class($son->getStatic())); #Son var_dump(get_class($son->getSelf())); #Father var_dump(get_class($son1->getStatic())); #Son var_dump(get_class($son1->getSelf())); #Father ```