【发布时间】:2012-04-04 15:35:47
【问题描述】:
你能告诉我return self::__construct()和return new self()之间的确切区别吗?
似乎可以在创建对象时从__construct() 调用中返回self::__construct(),返回对象本身,就好像第一个__construct() 从未被调用过一样。
【问题讨论】:
-
确切的区别是
self::__construct()会出现致命错误,因为构造函数被暗示为静态的——php 没有(至少不是我的 5.3.10采用)。new self()将正确创建对象。当然,这在很大程度上也取决于上下文,例如您从哪里调用这些语句。 -
@N.B. No fatal error in 5.2.5... 当你认为你可以合法地做
parent::__construct()... -
@DaveRandom - 我确实说过“这取决于上下文”,不是吗?
标签: php class constructor instance