PHP OOP와 타입 힌트에 이상한 문제가 있습니다. method
인터페이스 선언과 호환되지 않는다는 말,PHP OOP "구현이 호환되어야합니다."
abstract class AC {}
class C extends AC {}
interface I {
function method(AC $abstract);
}
class InterfaceImplementation implements I {
function method(C $concrete) {}
}
이 코드는 실행되지 않습니다 예를 들면 다음과 같습니다이다. C가 AC를 확장 한 이후로는 호환 가능하다고 생각할 것입니다. 이러한 종류의 기능을 구현하려면 어떻게해야합니까?
'인터페이스 I'는'메소드'가'C'가 아닌'AC'를 허용한다는 것을 의미합니다 ...'InterfaceImplementation'은 사실 'I'을 구현하십시오. – Wrikken