量化PHP7扩展方法的方法,这些方法对父级具有不同数量的参数

量化PHP7扩展方法的方法,这些方法对父级具有不同数量的参数,php,extends,php-7.2,phplint,Php,Extends,Php 7.2,Phplint,我正在将一个相当大的代码库从PHP5.6升级到PHP7.2 在代码中有数千个地方,扩展类包含与父方法具有不同数量参数的方法。 e、 g: 这会导致PHP7.2中出现致命错误 显然,解决方法是为每个参数添加默认值 e、 g: 但这需要我知道所有这些事情发生的地方 我正试图找到一种方法: 放松错误检查,这样PHP在遇到这种情况时不会抛出致命错误 或 建立一个列表,精确显示哪些函数违反了这个规则 我已经在整个代码库上运行了PHP7.2Linter,但它似乎没有注意到这个问题。我还没有找到任何其

我正在将一个相当大的代码库从PHP5.6升级到PHP7.2

在代码中有数千个地方,扩展类包含与父方法具有不同数量参数的方法。 e、 g:

这会导致PHP7.2中出现致命错误

显然,解决方法是为每个参数添加默认值

e、 g:

但这需要我知道所有这些事情发生的地方

我正试图找到一种方法:

  • 放松错误检查,这样PHP在遇到这种情况时不会抛出致命错误

  • 建立一个列表,精确显示哪些函数违反了这个规则
我已经在整个代码库上运行了PHP7.2Linter,但它似乎没有注意到这个问题。我还没有找到任何其他工具可以检测到这一点


很高兴手动修复它们,我只需要确保我得到了它们中的每一个。如果有人知道一种识别它们的方法,那将是非常有帮助的。

只需在子类中的参数中添加默认值:
someMethod($arg1,$arg2=null,$arg3=null)
我应该指定。我知道这是解决问题的办法。我只需要在代码库中找到所有发生的代码犯罪。我将更新问题以使其更清楚。不幸的是,工具请求显然与SO无关。更新以删除对工具建议的提及。我认为这很可能是通过脚本或配置来解决的。如果你想得到脚本方面的帮助,你必须展示你尝试了什么,并解释你在脚本方面遇到的问题。我们不会为您设计或编写它\
class SomeBaseClass {
    function someMethod($arg1, $arg2, $arg3) {
        ...
    }
}

class SomeOtherClass extends SomeBaseClass {
    function someMethod($arg1) {
      //Doesn't care about the other args, so doesn't specify them as params
    }
}
 class SomeOtherClass extends SomeBaseClass {
        function someMethod($arg1, $arg2=null, $arg3=null) {
          ...
        }
    }