工具或 IDE 提供有关 PHP 的未使用函数/缺少参数的提示

Tool or IDE giving hints about unused functions / missing parameters for PHP

我的项目发展很快,我们并不总是很认真地正确清理东西和版本控制。 我发现很难跟踪未使用的函数和误用的函数(缺少参数)。

是否有工具/IDE 可以跟踪这种情况?理想的 Atom 插件 ?

Jebrains PHPStorm 是迄今为止我用过的最好的 IDE。它会告诉你你问的事情等等。它还具有一些非常有效的重构功能;假设您想更改函数名称 - 您只需将光标放在 function/method 上,按 Shift+F6,输入新名称,PHPStorm 将搜索整个项目以找到用法并相应地重命名它们.

你可以使用

  1. Atom Lint 特定语言的包和 linter 包。
  2. Atom Beautify 帮助您清理代码。
  3. 寻找适合您的语言的静态分析工具包。

为了检查单个 class 文件,我使用了这个简单的代码片段:

<pre>
<?php

error_reporting(E_ALL & ~E_DEPRECATED);
ini_set('display_errors', 'on');

$file = dirname(__FILE__) . '/ojsis.php';

$arr = file($file);

$foundMethods = array();
foreach ($arr as $line) {
    if (ereg ('function ([_A-Za-z0-9]+)', $line, $regs)) {
        $foundMethods[] = $regs[1];
    }
}

$usedMethods = array();
foreach ($arr as $line) {
    if (ereg ('$this\-\>([_A-Za-z0-9]+)\(', $line, $regs)) {
        $usedMethods[] = $regs[1];
    }
}

$unusedMethods = array_diff($foundMethods, $usedMethods);
$misssingMethods = array_diff($usedMethods, $foundMethods);

echo "defined and never called internally:\n";
print_r($unusedMethods);
echo "\ncalled internally and not defined:\n";
print_r($misssingMethods);


?>
</pre>