Инструменты статического анализа для PHP
Кураторский список инструментов статического анализа для PHP.
Содействие
См. ВКЛАД.
Оглавление
- Поиск ошибок
- Стандарты кодирования
- Сделай сам
- Фиксаторы
- Метрики
- SaaS
- Разное
Поиск ошибок
Инструменты для сообщения о проблемах в коде, которые являются ошибками или приводят к ним.
- AppChecker — инструмент статического анализа для поиска ошибок, слабых мест и уязвимостей в исходном коде.
- Анализ кода — инструмент для анализа баз кода других проектов.
- AST Metrics — невероятно быстрый статический анализатор кода, который поможет вам определить код, требующий рефакторинга.
- Churn-PHP — обнаружение файлов, нуждающихся в рефакторинге.
- композитор-зависимость-анализатор — быстрое обнаружение проблем с зависимостями композитора (неиспользуемые зависимости, теневые зависимости, неуместные зависимости)
- Composer-Unused — инструмент Composer для отображения неиспользуемых зависимостей Composer путем сканирования вашего кода.
- Eir — инструмент статического анализа уязвимостей, написанный на C#.
- Exakat — Умный статический анализ.
- jscpd — детектор копирования/вставки исходного кода программирования.
- Mondrian — инструмент анализа кода с использованием теории графов.
- name-collision-detector — обнаруживает дубликаты символов (конфликты имен классов).
- noverify — Довольно быстрый линтер (утилита статического анализа кода) для PHP.
- Pfff — инструменты для анализа кода, визуализации или преобразования исходного кода с сохранением стиля.
- phanalist — Статический анализатор PHP. Это поможет вам обнаружить распространенные ошибки в вашем PHP-коде.
- PHP Analysis — библиотека для анализа и изменения исходного кода PHP в Rascal (PHP AiR).
- PHParch — PHPArch — это разрабатываемая библиотека архитектурного тестирования для проектов PHP.
- Предположение PHP. Находит слабые предположения в коде и предлагает превратить их в более строгие проверки.
- PhpCodeAnalyzer — находит использование невстроенных расширений.
- PHPCodeFixer — находит использование устаревших функций, переменных и директив ini.
- php-compat-info — Узнайте минимальную версию и расширения, необходимые для запуска фрагмента кода.
- php7mar — Отчет помощника по миграции PHP 7.
- phpcallgraph — Создание статических графов вызовов. Такой график визуализирует зависимости вызовов между методами или функциями приложения.
- PHPCPD — обнаруживает копирование/вставку кода и помогает обеспечить соблюдение правила DRY.
- PHPDoctor — проверьте файлы или каталоги PHP на наличие отсутствующих типов.
- Phan — статический анализатор от Rasmus, PHP Creator.
- Phinder — поиск фрагментов PHP-кода
- Phortress — статический анализатор PHP-кода на наличие потенциальных уязвимостей.
- Совместимость PHP. Найдите код, несовместимый с указанным диапазоном версий PHP.
- Детектор устаревания PHP — PhpDeprecationDetector — анализатор PHP-кода для поиска использования устаревших функций в новых версиях интерпретаторов.
- Статический анализ PHP-кода — программа статического анализа PHP-кода, созданная на nodeJS.
- PHP Inspection — плагин статического анализа для PHPStorm.
- PHP Integrator — индексирует PHP-код и выполняет статический анализ для редактора Atom.
- Phlint — Phlint — это инструмент, цель которого — поддерживать качество PHP-кода путем анализа кода и выявления потенциальных проблем с кодом.
- PHP lint — сам PHP, способный обнаруживать синтаксические ошибки из командной строки.
- PHPlint — валидатор и документатор для программ PHP 5.
- PHP-Parallel-Lint — инструмент параллельного анализа PHP для PHP 5.4 или новее.
- Детектор магических чисел PHP - Детектор магических чисел PHP
- PHP-malware-finder — обнаружение потенциально вредоносных файлов PHP.
- PHP Mess Detector — ищите несколько потенциальных проблем в исходном коде.
- PHP Reaper — сканирование кода ADOdb на предмет SQL-инъекций.
- PHP SA — инструмент разработки, предназначенный для комплексного анализа приложений и библиотек PHP.
- PHP Stan — ориентирован на поиск ошибок в коде без его фактического запуска.
- PHP Unlocker — обнаруживает потенциальные непреднамеренные блокировки таблиц БД для приложений PHP с помощью ADOdb. Использует методы статического анализа.
- Тестируемость PHP — анализирует и создает отчет о проблемах тестируемости базы кода PHP.
- PHP Vuln Hunter — автоматическое сканирование уязвимостей PHP с использованием методов статического анализа.
- Progpilot — инструмент статического анализа в целях безопасности.
- Psalm — инструмент статического анализа для поиска ошибок в PHP-приложениях.
- psecio:parse — Анализ: сканер безопасности PHP.
- Qodana PHP от JetBrains — инструмент статического анализа PHP-проектов на основе PhpStorm.
- SonarQube — открытая платформа для управления качеством кода. Он охватывает PHP-код.
- Анализатор побочных каналов — поиск уязвимого кода побочного канала.
- TaintPHP — статический анализатор вредоносных данных.
- Tuli — механизм статического анализа.
- Unused-scanner — обнаружение неиспользуемых зависимостей композитора.
- WAP — инструмент для обнаружения и исправления уязвимостей проверки ввода в веб-приложениях PHP (4.0 или выше) и прогнозирования ложных срабатываний.
- PHP VarDump Check — консольное PHP-приложение для поиска дампа забытых переменных.
- 17eyes — статический анализатор PHP, написанный на Haskell.
- CakeFuzzer — совершенный инструмент тестирования безопасности веб-приложений для веб-приложений на базе CakePHP.
Стандарты кодирования
Инструменты для проверки способа написания PHP-кода и многое другое.
- Pahout — партнер по парному программированию для написания лучшего PHP.
- композитор-нормализовать — предоставляет плагин композитора для нормализации композитора.json.
- EasyCodingStandard — простой в использовании инструмент, позволяющий легко использовать CodeSniffer и PHP-CS-Fixer.
- PHPas — инструмент для форматирования и украшения стиля PHP-кода своим стилем.
- PHPArkitect — PHPArkitect помогает вам поддерживать целостность и целостность вашей кодовой базы PHP, позволяя добавить в ваш рабочий процесс некоторую проверку архитектурных ограничений.
- PHP Code Sniffer — PHPCS проверяет и автоматически исправляет код для широкого спектра стандартов кодирования.
- PHPCheckstyle — инструмент, помогающий соблюдать определенные соглашения по кодированию.
- PHP Doc Check — использует метрики сложности для обеспечения соблюдения соглашений о документации для нетривиальных функций.
- Средство форматирования PHP. Целью этого средства форматирования PHP является предоставление вам некоторых массовых действий для ваших проектов PHP, чтобы обеспечить их согласованность.
- TLint — это самоуверенный линтер кода (с растущей поддержкой автоматического форматирования!), предназначенный для ужесточения правил кодирования для Laravel и PHP.
Сделай сам
Библиотеки, которые могут стать основой для самодельного статического анализатора.
- Deptrac — инструмент статического анализа кода, обеспечивающий соблюдение правил для зависимостей между уровнями программного обеспечения.
- PHP Architecture Tester — простой в использовании инструмент тестирования архитектуры PHP.
- PHPArkitect — инструмент статического анализа кода для обеспечения соблюдения архитектурных правил в вашей кодовой базе.
- PHP-cfg — реализация графа потока управления на PHP. Автор: ИркМаксвелл.
- Детектор связи PHP. Убедитесь, что в коде нет нежелательных связанных классов.
- PHP Parser — написан на PHP Никитой Поповым и основан на реальной грамматике PHP.
- PHP Token Reflection — библиотека, эмулирующая внутреннее отражение PHP, используя только токенизированный исходный код.
- PHPSandbox — полномасштабный класс песочницы PHP 5.3.2+, который использует PHPParser для предотвращения запуска небезопасного кода в изолированной программной среде.
- Reflection — библиотека отражений для статического анализа проектов PHP.
- Better Reflection — библиотека Reflection с дополнительными функциями, такими как анализ подсказок типов докблоков, внутри которой используется PHP Parser от nikic.
Фиксаторы
Инструменты для автоматического исправления предоставленного им кода.
- Ректор - Мгновенные обновления PHP-приложений на основе AST
- FunctionFQNReplacer — предоставляет способ замены относительных ссылок функций в вызовах функций абсолютными ссылками.
- Phpactor — этот проект направлен на предоставление мощных инструментов рефакторинга и самоанализа.
- PHP BackSlasher — инструмент для добавления всех внутренних функций и констант PHP в пространство имен путем добавления к ним обратной косой черты.
- php-refactoring-browser — инструмент рефакторинга CLI.
- PHP CS Fixer — анализирует и пытается исправить проблемы со стандартами кодирования (совместимы с PSR-1 и PSR-2).
- phpdoc to typehint — превращает комментарии phpdocs в фактические Typehint (аргументы и возврат).
- php-scoper — добавляет префиксы ко всем пространствам имен PHP в файле/каталоге, чтобы изолировать код, включенный в PHAR.
- Transphpile — напишите PHP 7, запустите PHP 5.6 с возможностью резервного копирования.
- PHP Weaver — анализ типов параметров во время выполнения и создание соответствующих phpdocs.
Метрики
Инструменты для измерения сложности кода, строки кода и т. д.
- AST Metrics — невероятно быстрый статический анализатор кода, который рассчитывает различные метрики, помогающие идентифицировать код, требующий рефакторинга, и предоставляет красивый графический интерфейс.
- churn-php — помогает найти хороших кандидатов для рефакторинга.
- Design Pattern Detector — обнаружение шаблонов проектирования в PHP-коде.
- dePHPend — dePHPend помогает анализировать зависимости и архитектуру и позволяет определять ограничения для обоих.
- Dissect — Набор инструментов для лексического и синтаксического анализа.
- php-arguments-detector — держите под контролем сложность своих методов, проверяя, чтобы у них не было слишком много аргументов.
- php-smelly-code-detector — детектор запаха PHP-кода.
- PHPLOC — Утилита для измерения размера PHP-приложения и подсчета различных структур.
- PHP Metrics — рассчитывает всевозможные метрики и отображает их в великолепном интерфейсе.
- Средство проверки семантических версий PHP — сравнивает два исходных набора и определяет подходящую семантическую версию для применения.
- PhpStats — Инструмент для сбора статистики, метрик, зависимостей и построения различных графиков для крупных проектов для поиска узких мест.
- PhpDependencyAnaанализ — статический анализ кода для предоставления и проверки графа зависимостей на соответствие определенной архитектуре.
- php-wording-detector — простой инструмент для анализа и разделения слов, содержащихся в вашем коде, для проверки вашего подхода DDD.
- Анализатор качества. Анализатор качества — это инструмент для визуализации показателей и исходного кода.
Визуализация
Инструменты, отображающие код PHP в графическом виде.
- PHPcity - PHPCity представляет собой реализацию визуализации метафор города и обеспечивает визуализацию PHP-проектов, реализованных объектно-ориентированным способом.
SaaS
Онлайн-сервисы для PHP-кода предоставляют информационные панели. Они могут использовать предыдущие инструменты или предложить свои собственные.
- Bliss — автоматически просматривает код в режиме реального времени и показывает, сколько он стоит в строках кода.
- Codacy — Codacy: автоматизированный анализ кода.
- CodeBeaat — Уменьшение технического долга. Найдите возможности рефакторинга.
- Code Climate — хостинг статического анализа исходного кода Ruby, PHP и JavaScript.
- CodeScene — приоритезация технического долга в PHP, JavaScript и т. д.
- Codegrip — более умный и безопасный способ проверки кода
- Deepsource — DeepSource — это современная платформа статического анализа, созданная для команд инженеров, которые работают быстро и ничего не ломают.
- Insight — инструмент SensioLabs для анализа исходного кода и выявления проблем, которые ухудшают общее качество ваших проектов.
- Insphpect — Insphpect — это автоматизированный инструмент проверки кода, который выявляет недостатки в PHP-коде и помогает писать более качественное программное обеспечение.
- RIPS — превосходное программное обеспечение безопасности для приложений PHP. Статический анализатор исходного кода на наличие уязвимостей.
- Scrutinizer — улучшайте качество кода и находите ошибки до того, как они попадут в рабочую среду, с помощью нашей платформы непрерывной проверки.
- Исходный график — понимание и поиск по всей вашей кодовой базе.
- SideCI — CI для автоматизированной проверки кода путем анализа кода.
- Laravelshift — автоматизированный способ обновления приложений Laravel. Обновите приложения Laravel с версии Laravel 4.2 до последней версии Laravel.
Разное
- HHVM — Взлом языка от Facebook. Добавляйте SCA до версии 3.3.8, в более новой версии его больше нет.
- PHP Manipulator — библиотека для анализа и изменения исходного кода PHP.
- PHP Parser — библиотека NodeJS для анализа PHP и извлечения токенов и AST.
- PHPQA — оболочка для множества инструментов PHP, объединенных в один HTML-файл.
- Fixtro — оболочка, позволяющая запускать каждый предкоммит. Он сам устанавливает все зависимости для бегунов, их очень много (phpunit, phpmd, php-cs-fixer и т.д.).
- Проверка покрытия — инструмент, который позволяет применять некоторые из представленных здесь инструментов только к измененному коду. Хорошо подходит для перехода к новым стандартам
- Composer Require Checker — инструмент CLI для проверки того, использует ли конкретный пакет композитора импортированные символы, которые не являются частью его прямых зависимостей композитора.
- Базовый план результатов статического анализа — инструмент для создания базового плана на основе инструментов статического анализа.