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
.