【发布时间】:2020-11-07 23:13:03
【问题描述】:
考虑以下两个类:
class A {
...
testMethod($param = null) {
...
}
}
class B extends A {
...
testMethod($additionalParam, $param = null) {
... do something with $additionalParam ...
parent::testMethod($param);
}
}
intelephense 向我提出了一个错误,这两种方法不兼容(它们确实不兼容)。尽管如此,我的脚本虽然运行良好。
谁能给我解释一下,为什么intelephense 会被这种设计困扰?这种设计不会被认为是有效的吗?如果没有,如果我想在子类中扩展一个方法,通过存储我没有存储在基类中的附加信息,我应该如何进行?
【问题讨论】:
-
我认为Why is overriding method parameters a violation of strict standards in PHP? 解释了很多关于为什么这是一个问题。那里还有其他位的链接。
标签: php intelephense