クラスのセットにインターフェイスを使用しています。ただし、インターフェイスで許可されるようにしたいため、問題がvisibility
あります(つまりpublic
、 、protected
およびprivate
)。
親メソッドのみを保護する必要があり、子メソッドを非公開にする必要がありますが、次のエラーが表示されます
致命的なエラー: インターフェイス メソッド Baz::qux() のアクセス タイプは、<Baz/Bar を含むファイル> で省略しなければなりません。"
インターフェイスで他の表示方法を指定してBaz
削除しようとしましpublic
たが、すべて失敗しました。
インターフェイスを介してそれを行う方法はありますか?そうでない場合、それを宣言できる方法はありますか、それabstract
も試しましたが失敗しました。
interface Baz
{
public function qux();
}
class Bar implements Baz
{
protected function qux()
{
//do foo
}
}
class Foo extends Bar implements Baz
{
private function qux()
{
parent::qux();
}
}