工具或 IDE 提供有关 PHP 的未使用函数/缺少参数的提示
Tool or IDE giving hints about unused functions / missing parameters for PHP
我的项目发展很快,我们并不总是很认真地正确清理东西和版本控制。
我发现很难跟踪未使用的函数和误用的函数(缺少参数)。
是否有工具/IDE 可以跟踪这种情况?理想的 Atom 插件 ?
Jebrains PHPStorm 是迄今为止我用过的最好的 IDE。它会告诉你你问的事情等等。它还具有一些非常有效的重构功能;假设您想更改函数名称 - 您只需将光标放在 function/method 上,按 Shift+F6
,输入新名称,PHPStorm 将搜索整个项目以找到用法并相应地重命名它们.
你可以使用
- Atom Lint 特定语言的包和 linter 包。
- Atom Beautify 帮助您清理代码。
- 寻找适合您的语言的静态分析工具包。
为了检查单个 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>
我的项目发展很快,我们并不总是很认真地正确清理东西和版本控制。 我发现很难跟踪未使用的函数和误用的函数(缺少参数)。
是否有工具/IDE 可以跟踪这种情况?理想的 Atom 插件 ?
Jebrains PHPStorm 是迄今为止我用过的最好的 IDE。它会告诉你你问的事情等等。它还具有一些非常有效的重构功能;假设您想更改函数名称 - 您只需将光标放在 function/method 上,按 Shift+F6
,输入新名称,PHPStorm 将搜索整个项目以找到用法并相应地重命名它们.
你可以使用
- Atom Lint 特定语言的包和 linter 包。
- Atom Beautify 帮助您清理代码。
- 寻找适合您的语言的静态分析工具包。
为了检查单个 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>