0
我有一個抽象類。我正在擴大這個班級。我得到這個錯誤:PHP:這個錯誤是什麼意思?抽象方法必須兼容?
Fatal error: Declaration of Default_Model_FoobarMapper::_setClassVarsFromRow() must be compatible with that of Default_Model_AbstractMapper::_setClassVarsFromRow() in /location/to/models/FoobarMapper.php on line 3
這通常意味着什麼?
更新:發現我的類型提示是拋出一個錯誤。你可以這樣做:
abstract class MyAbstractClass
{
abstract protected function _myFunction($array, $generic_class);
}
class Foobar extends MyAbstractClass
{
protected function _myFunction($array, Specific_Class $specific_class)
{
//etc.
}
}
這是否意味着我不能使用類型提示? – Andrew 2009-12-11 01:37:52
你可以。類型暗示只需要在函數的每個實現上都是相同的。 – 2009-12-11 01:41:33
呃......我認爲你應該可以,只要你提示相同的類型,不應該嗎?我還沒有在PHP中使用類型提示,所以我不確定。 – 2009-12-11 01:41:56