0
我使用Zend FW 1和PHPUnit的3.5.15。PHPUnit的抱怨不兼容的靜態方法聲明
在父類中我聲明public static function _doInsert(DomainObject $object)
,我在子類中重寫此。
在子類中的方法簽名唯一的區別是,它暗示了一個對象,它是比DomainObject
,像DomainObjectChild
更具體。就我的應用程序而言,這似乎工作正常,但PHPUnit扼流器出現錯誤。它說,子類中的方法聲明應該與父類的聲明兼容。
任何想法,我的朋友光明?
感謝蒂姆,這是即期。任何想法爲什麼這會引發E_STRICT錯誤? –
我的猜測是,隨着[靜態綁定](http://php.net/manual/en/language.oop5.late-static-bindings.php)的加入,靜態方法確實可以被覆蓋,PHP會檢查簽名匹配「以防萬一」你使用它。 –