У меня странные проблемы с ООП PHP и подсказками типов. Вот пример:
abstract class AC {}
class C extends AC {}
interface I {
function method(AC $abstract);
}
class InterfaceImplementation implements I {
function method(C $concrete) {}
}
Этот код не запускается, говоря, что метод
несовместим с объявлением интерфейса. Я бы подумал, что это совместимо, так как C расширяет AC - я что-то пропускаю? Как я могу реализовать такую функциональность?