运行PHP 5.3.13时出现以下错误,我看不出原因。
CustomCourse :: toArray()的声明应该与之兼容 of BaseCourse :: toArray()
这是我下面的PHP代码,虽然减少了重要的事情,以便将帖子长度保持在所需的范围内。
我还应该补充一点,Course
类没有公开toArray
方法。
我在SO上看到了其他类似的主题,但似乎没有一个能为我提供解决方案。
/**
* this is the CHILD class
*/
class CustomCourse extends BaseCourse {
public function toArray() {
$values = parent::toArray();
// do some more with $values here
return $values;
}
}
/**
* this is the PARENT class
*/
class BaseContact extends Course {
public function toArray($platform = GOLF_PLATFORM) {
$values = array();
$values['user_id'] = $this->getUserId();
// do some more in here
return $values;
}
}
答案 0 :(得分:1)
这似乎是PHP报告的严格错误。
讨论如下:Declaration of Methods should be Compatible with Parent Methods in PHP
对于解决方案,您需要对两种方法使用相同的声明。
class CustomCourse extends BaseCourse {
function toArray($platform=GOLF_PLATFORM) {
//do something
}
}
或者,您可以在php.ini文件中关闭严格的错误检查。