new self() 、new __CLASS__() 和 new static() 的区别

1、new static()是在php5.3版本引入的新特性

2、无论是 new self()、new __CLASS__()、new static() 都是 new 一个对象

3、__CLASS__ 和 self() 都指到当前类,所以不能用到基类中(单例模式的应用)


他们的区别只有在继承中才能体现出来、如果没有任何继承、那么二者没有任何区别;然后 new self() 返回的实列是不会变的,无论谁去调用,都返回的一个类的实列, 而 new static则是由调用者决定的。

冷暖自知一抹茶ck
请先登录后发表评论
  • 最新评论
  • 总共0条评论