Phpcodearcheology
Phpcodearcheology анализирует ваш проект PHP, предоставляя подробные показатели по файлам, классам, методам и функциям. Комплексный отчет HTML дает вам глубокое понимание, необходимое для оценки вашего проекта.
Почему phpcodearcheology?
Phpcodearcheology была создана, чтобы помочь разработчикам получить более глубокое понимание своей базы PHP, предоставляя подробные показатели и понимание. Независимо от того, поддерживаете ли вы устаревшую систему или работаете над новым проектом, этот инструмент направлен на улучшение качества и обслуживаемости кода.
Предварительные условия
Убедитесь, что ваша среда соответствует следующим требованиям:
- PHP версия 8.2 или выше
- Установлен композитор
Установка
Установите phpcodearcheology с помощью композитора, запустив следующую команду в вашем терминале:
composer require --dev php-code-archeology/php-code-archeology
Быстрый старт
Чтобы запустить phpcodearcheology, запустите следующую команду в корне проекта:
./vendor/bin/phpcodearcheology
Из коробки PhpCodearcheology сканирует ваш SRC DIR и создает отчет в TMP/отчете .
Для настройки сканирования, например, включение или исключение папок, определение пользовательских расширений файлов PHP или других настроек, создайте файл конфигурации php-codearch-config.yaml в корне проекта. Обратитесь к этому примеру файла конфигурации для руководства.
Отчет
Типичный отчет, сгенерированный PhpCodearcheology, включает в себя такие показатели, как:
- Файлы : общее количество файлов в проекте.
- Ошибки файлов : количество ошибок, найденных в файлах.
- Количество функций : общее количество функций.
- Количество классов : общее количество классов.
- Аннотация классы : подсчет абстрактных классов.
- Количество интерфейсов : общее количество интерфейсов.
- Количество методов : общее количество методов, включая государственные, частные и статические методы.
- Публичные методы : подсчет публичных методов.
- Частные методы : подсчет частных методов.
- Статические методы : подсчет статических методов.
- Выходные операторы : подсчет ECHO и PRINTF -вызовов.
- Строки кода (LOC) : общие строки кода, включая комментарии и пустые строки.
- Логические строки кода (LLOC) : общие строки кода, исключая комментарии и пустые строки.
- Строки комментариев кода (CLOC) : строки кода, которые содержат комментарии.
- HTML -строки кода : строки кода, которые содержат HTML.
- Цикломатическая сложность (CC) : мера сложности кода.
- Индекс обслуживания (MI) : индекс, который указывает на обслуживание кода.
- LCOM : Отсутствие сплоченности методов в классах.
- Нестабильность : мера стабильности класса на основе его зависимостей.
- Эфферентная связь (CE) : количество классов, от которых зависит класс.
- Афферентная связь (CA) : количество классов, которые зависят от класса.
- Сложность : мера того, насколько сложно понять код.
- Усилия : оценка усилий, необходимых для понимания кода.
- Словарь : количество уникальных операторов и операндов в коде.
- Длина : общее количество операторов и операндов в коде.
- Том : размер словарного запаса кода и длины.
- Вес комментария : вес комментариев в коде.
- Расстояние от основной линии : мера, насколько абстрактно и стабильный класс.
Вот пример скриншота отчета HTML:

Документация
В настоящее время я работаю над документацией. Поскольку я в основном использую инструмент для своих собственных проектов и сосредоточен на его постоянном развитии, может потребоваться некоторое время, чтобы завершить комплексную документацию.
Автор
Маркус Кобер, @mrcskbr, GitHub