ComposerRequireChecker CLI
ComposerRequireChecker находит PHP-символы и расширения, которые использует код без объявления прямых зависимостей Composer.
- 1 011 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Для анализа утилита читает исходники и установленное дерево зависимостей локального проекта.
Установка
Ручная установка
Скачай PHAR из первого рекомендованного раздела README и проверь его происхождение. Запускай анализ на подготовленных зависимостях, исправления согласуй отдельно.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Для анализа утилита читает исходники и установленное дерево зависимостей локального проекта.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
ComposerRequireChecker разбирает PHP-код и сопоставляет используемые символы с зависимостями в `composer.json`. Он обнаруживает случаи, когда проект обращается к классу из косвенно установленной библиотеки, которую сам не запросил. Такая находка помогает уточнить зависимости до обновления пакетов. Утилита также проверяет функции расширений PHP и может сканировать дополнительные файлы вне обычной автозагрузки. Она работает с уже установленной структурой каталогов, не устанавливает зависимости и не меняет код. После отчета разработчик решает, что объявить, удалить или добавить в допустимые исключения.
Для кого. Авторам PHP-пакетов, которым нужно исключить неявную зависимость от библиотек и расширений перед выпуском.
Подходит, если
- После обновления библиотеки нужно проверить прямые зависимости проекта.
- PHP-пакет использует расширения, которые надо объявить явно.
- Перед выпуском в CI требуется найти неизвестные символы.
- Скрипты вне автозагрузки надо добавить в область статической проверки.
Не подходит, если
- Инструмент должен сам устанавливать пакеты или менять `composer.json`.
- Нужна полная проверка поведения приложения вместо анализа зависимостей.
- Структура каталогов после нестандартных установочных плагинов не учтена.
Пример запроса к агенту
Проверь composer.json и PHP-код на неявные зависимости, объясни каждую находку и предложи правки без установки пакетов.Ограничения
Перед анализом установите зависимости проекта через Composer: утилита читает уже готовое дерево каталогов. Нестандартные плагины установки могут размещать код вне ожидаемых каталогов, из-за чего утилита неверно определит доступные символы. ComposerRequireChecker читает только один конфигурационный файл; добавляя исключения, сохраните в нем нужные стандартные значения. Xdebug может замедлить анализ и вызвать ошибку предела вложенности; запускайте проверку в PHP без этого расширения.
Как отключить. Уберите команду проверки из CI и удалите отдельный PHAR при необходимости. Исходники проекта утилита не изменяет.
Частые вопросы
Меняет ли утилита код?
Нет. Она читает проект и сообщает о зависимостях; правки выполняются отдельно.
Нужно ли ставить ее в зависимости проекта?
Нет. Скачайте отдельный PHAR из Releases и запускайте его для нужного проекта. Зависимости анализируемого проекта подготовьте заранее.
Проверяются ли расширения PHP?
Да. Используемые функции расширений должны быть отражены в требованиях Composer.
Как добавить скрипты вне автозагрузки?
Укажите шаблоны в `scan-files` конфигурации и проверьте охват файлов.
Почему после настройки появились ошибки по базовым символам?
При замене конфигурации могли исчезнуть стандартные исключения. Сверьте полный список с примером проекта.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыPHP_CodeSniffer, CLI проверки PHP, применяет правила проекта локально и в CI: команда согласует единый стандарт оформления.
Скилл состязательного аудита кода: Hunter ищет ошибки, Skeptic их оспаривает, Referee выносит вердикт, а правки без вашего разрешения не вносятся
Плагин Claude Code проверяет изменение по плану: поднимает стек, прогоняет критерии приемки и дает отчет с доказательствами.
Qlty CLI показывает дубли и сложные участки кода до рефакторинга; автоматическое форматирование запускается отдельно.
CLI для тестирования и ред-тиминга LLM-приложений: сравнение моделей, автоматические проверки в CI и поиск уязвимостей
Плагин Claude Code и OpenCode, который не дает закончить сессию, пока правки 1С не прошли проверку стандартов, архитектуры и XML
Коротко о README
Собственная конфигурация по умолчанию берется из `composer-require-checker.json`. В документации есть разбор нестандартных каталогов зависимостей.