PHP Intelephense - метод несовместим с дочерним методом

Рассмотрим следующие два класса:

class A {
   ...

   testMethod($param = null) {
       ...
   }
}

class B extends A {
   ...

   testMethod($additionalParam, $param = null) {
      ... do something with $additionalParam ...
      parent::testMethod($param);
   }
}

intelephenseвызывает у меня ошибку, что эти два метода несовместимы (это действительно не так). Мой сценарий, тем не менее, работает нормально.

Может ли кто-нибудь объяснить мне, почему intelephenseбеспокоить этот дизайн? Разве этот дизайн не будет считаться действительным? Если нет, то как мне продолжить, если я хочу расширить метод в подклассе, сохранив дополнительную информацию, которую я не сохранил в базовом классе?

1 ответ

попробуйте изменить имя testMethod к testMethodMain или другое имя в вашем классе B.

Другие вопросы по тегам