Я использую интерфейс для набора классов. У меня проблема, потому что я желаю, чтобы в интерфейсе visibility
(То есть: public
, protected
и private
).
Мне нужен родительский метод только для защиты, и мне нужно, чтобы дочерний метод был закрытым, но я получаю сообщение об ошибке
Неустранимая ошибка: Тип доступа для метода интерфейса Baz:: qux() должен быть опущен в < файле с Baz/Bar > .
Я попытался указать другие методы видимости в inteface 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();
}
}