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を拡張して以来、互換性があると思います。この種の機能をどのように実装する予定ですか?
私はあなたの 'interface I'は' method'が 'C'だけでなく' AC'を受け入れるという契約を意味しています...私は 'InterfaceImplementation'が実際にはないと同意します「I」を実装する。 – Wrikken