Как выполнить статический анализ кода в php? [закрыто]

Лучшее решение для меня

my_folder_delete("../path/folder");

код:

function my_folder_delete($path) {
    if(!empty($path) && is_dir($path) ){
        $dir  = new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS); //upper dirs are not included,otherwise DISASTER HAPPENS :)
        $files = new RecursiveIteratorIterator($dir, RecursiveIteratorIterator::CHILD_FIRST);
        foreach ($files as $f) {if (is_file($f)) {unlink($f);} else {$empty_dirs[] = $f;} } if (!empty($empty_dirs)) {foreach ($empty_dirs as $eachDir) {rmdir($eachDir);}} rmdir($path);
    }
}

p.s. ЗАПОМНИТЬ! не пропускайте ПУСТОЙ ЦЕННОСТИ в любой каталог, удаляющий функции !!! (резервируйте их всегда, иначе в один прекрасный день вы можете получить БЕДСТВИЙ !!) [/ ​​g2]

456
задан Marc.2377 24 June 2019 в 20:28
поделиться

6 ответов

Выполненный php в режиме линта из командной строки для проверки синтаксиса без выполнения:

php -l FILENAME

Высокоуровневые статические анализаторы включают:

, который включают анализаторы Низшего уровня:

PHP_Parser token_get_all Время выполнения анализаторы, которые более полезны для некоторых вещей из-за динамического характера PHPs, включают:

библиотеки документации phpdoc и doxygen выполняют своего рода анализ кода. Doxygen, например, может быть настроен для рендеринга хороших графиков наследования с [1 117] graphviz.

Другая опция xhprof, который подобен xdebug, но легче, делая ее подходящей для рабочих серверов. Инструмент включает основанный на PHP интерфейс.

349
ответ дан Brucie Alpha 25 June 2019 в 06:28
поделиться

Для полноты - также проверяют phpCallGraph.

27
ответ дан Till 25 June 2019 в 06:28
поделиться

линт PHP Онлайн

проверка переменных PHPLint

Unitialized . Свяжитесь 1, и 2 уже, кажется, делают это очень хорошо, все же.

я не могу сказать, что использовал любой из них интенсивно, хотя :)

38
ответ дан Heidelbergensis 25 June 2019 в 06:28
поделиться

PHP PMD (детектор для детектора проекта) и PHP CPD (Copy Page Detector) как прежняя часть phpunit

5
ответ дан 22 November 2019 в 22:57
поделиться

См. CloneDR компании Semantic Designs, инструмент "обнаружения клонов", который находит скопированный/вставленный/отредактированный код. Он находит точные и почти точные фрагменты кода, несмотря на пробельные символы, комментарии и даже переименование переменных. Образец отчета об обнаружении для PHP можно найти на сайте wesite. (Я автор).

14
ответ дан 22 November 2019 в 22:57
поделиться

Появился новый инструмент под названием nWire for PHP. Это плагин для исследования кода для Eclipse PDT и Zend Studio 7.x. Он позволяет анализировать код PHP в режиме реального времени и предоставляет следующие инструменты:

  • Визуализация кода - интерактивное графическое представление компонентов и ассоциаций.
  • Навигация по коду - уникальное навигационное представление показывает все ассоциации и работает вместе с вами, пока вы пишете или читаете код.
  • Быстрый поиск - поиск по мере ввода методов, полей, файлов и т.д.
6
ответ дан 22 November 2019 в 22:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: