PHP 5.3.13을 실행하는 동안 다음과 같은 오류가 발생하며 그 이유를 알 수 없습니다. 중요한 물건 줄일 수 있지만PHP 5.3.13에서 부모 메서드의 선언과 자식 메서드 선언이 호환되어야합니다.
이 아래에있는 내 PHP 코드는 유지하는 것입니다 CustomCourse :: toArray()의
선언 BaseCourse :: toArray()의 와 호환되어야합니다 필요한만큼만 게시물을 올리십시오.
Course
클래스는toArray
메서드를 노출하지 않도록 추가해야합니다.나는 다른 유사한 스레드를 볼 수 있지만 아무도 해결책을 제시하지 못합니다.
/** * 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; } }
@bcmcfc 그 대답의 문제는 내 질문에 대답하지 않는다는 것입니다 (내 게시물 참조). 이'childClass :: customMethod()는 다른 인수를 가지거나 parentClass :: customMethod()와 다른 접근 레벨 (public/private/protected)이 적용되지 않습니다. – crmpicco
두 개의 toArray() 메서드에는 서로 다른 서명이 있습니다. BaseCourse는 매개 변수와 기본값을 사용하여 toArray를 구현하지만 CustomCourse는이를 재정의하고 서명에 정의 된 매개 변수 또는 기본값을 갖지 않습니다. – bcmcfc
하위 클래스가 상위 클래스를 확장하지 않습니다. 질문에 오타가 있습니까? 그리고 왜 그 링크가 당신의 질문에 대답하지 않는다고 생각합니까? 당신은 방금 그런 대답의 아주 정확한 복제본을 받아 들였습니다. –