量化PHP7扩展方法的方法,这些方法具有与父

时间:2018-04-26 02:21:48

标签: php extends php-7.2 phplint

我正在将相当大的代码库从PHP 5.6升级到PHP 7.2。

代码中有数千个地方,扩展类包含父方法具有不同参数数量的方法。 例如:

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
    }
}

这会导致PHP 7.2中出现致命错误。

修复显然是为每个参数添加默认值。

例如:

 class SomeOtherClass extends SomeBaseClass {
        function someMethod($arg1, $arg2=null, $arg3=null) {
          ...
        }
    }

但这要求我知道所有这些都出现在哪里。

我正试图找到一种方法:

  • 放宽错误检查,以便PHP在遇到此错误时不会抛出致命错误。

OR

  • 构建某种列表,准确显示哪些功能违反了此规则。

我在整个代码库上运行了一个php 7.2 linter,但它似乎没有解决这个问题。我找不到任何可以检测到这一点的工具。

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

0 个答案:

没有答案