他のインターフェースで構成されたインターフェースを作成するにはどうすればいいですか? 質問する

他のインターフェースで構成されたインターフェースを作成するにはどうすればいいですか? 質問する

IFoo基本的にカスタム インターフェイスとIBarいくつかのネイティブ インターフェイス 、、ArrayAccessおよびを組み合わせたインターフェイス を作成したいと思います。PHP では他のインターフェイスを実装するインターフェイスが許可されていないようで、試すと次のエラーが発生します。IteratorAggregateSerializable

PHP 解析エラー: 構文エラー、予期しない T_IMPLEMENTS、行 Y の X に '{' が必要です

インターフェースが他のインターフェースを拡張できることは知っていますが、PHP では多重継承が許可されておらず、ネイティブ インターフェースを変更できないため、行き詰まってしまいます。

内の他のインターフェースを複製する必要がありますかIFoo、それともネイティブのインターフェースを再利用できるより良い方法がありますか?

ベストアンサー1

探しているextendsキーワード:

Interface Foo extends Bar, ArrayAccess, IteratorAggregate, Serializable
{
    ...
}

見るオブジェクトインターフェース具体的には例2 拡張可能なインターフェース ff


注: インターフェース名のプレフィックスを削除しましIた。IFooIBar

PHP開発者のさらなる視点を知るには、以下の本を読むことをお勧めします。「プレフィックスとサフィックスはインターフェース名には使用しないでください」によるデビッド・グルドルのためにネット(2022年6月)。

おすすめ記事