4

私の上司がクラスとインターフェースを持っているとしましょう:

class HisBar {}

interface HisFooInterface
{
    public function doSomethingWithBar(HisBar $bar);
}

そして、拡張する場合と拡張しない場合がある独自のクラスがありますHisBar

class MyBar extends HisBar {}

これができたらいいのに:

interface MyFooInterface extends HisFooInterface
{
    public function doSomethingWithBar(MyBar $bar);
}

しかし、はい、エラーが発生します:

致命的なエラー: MyFooInterface::doSomethingWithBar() の宣言は、パス\to\MyFooInterface.php 行 xx の HisFooInterface::doSomethingWithBar(HisBar $bar) と互換性がある必要があります

つまり、インターフェイスのインスタンスを使用する必要がありますが、異なるタイプのヒントを使用することは可能ですか? これを行う方法はありますか?引数の型を変更するには? ありがとう。

4

0 に答える 0