0

我在运行 PHP 5.3.13 时收到以下错误,但我不明白为什么。

CustomCourse::toArray() 的声明应该与 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;
   }

}
4

1 回答 1

1

这似乎是 PHP 报告的一个严格错误。

讨论如下:方法声明应与 PHP 中的父方法兼容

对于解决方案,您需要对两种方法使用相同的声明。

class CustomCourse extends BaseCourse {
    function toArray($platform=GOLF_PLATFORM) {
        //do something
    }
}

或者,您可以在 php.ini 文件中关闭严格的错误检查。

于 2013-05-20T15:35:16.903 回答