Мой проект быстро растет, и мы не всегда очень добросовестны в чистке и правильном управлении версиями. Мне сложно отслеживать неиспользуемые функции и пропущенные (отсутствующие параметры).
Есть ли инструмент /IDE, который позволяет отслеживать эти случаи? В идеале плагин Atom?
вы можете использовать
Jebrains PHPStorm на сегодняшний день является лучшей IDE, которую я когда-либо использовал. Он информирует вас о вещах, которые вы задаете, и многое другое. Он также имеет некоторые довольно эффективные функции рефакторинга; скажем, вы хотите изменить имя функции - просто поместите курсор на функцию/метод, нажмите Shift+F6
, напишите новое имя, и PHPStorm проведет поиск по всему вашему проекту, чтобы найти обычаи и переименовать их соответствующим образом.
Для просто проверки одного файла класса я использую этот простой фрагмент кода:
<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>