PHP_CodeSniffer CLI
PHP_CodeSniffer, CLI проверки PHP, применяет правила проекта локально и в CI: команда согласует единый стандарт оформления.
- 1 572 ★ репозитория
- Последний коммит
- BSD-3-Clause
Расширенный доступ
Почему такой уровень
- Команда `phpcs` читает исходники, а `phpcbf` меняет файлы; подключенные правила могут запускать внешние программы.
Установка
Ручная установка
curl -OL https://phars.phpcodesniffer.com/phpcs.phar
curl -OL https://phars.phpcodesniffer.com/phpcbf.pharПервые команды загрузки PHAR из README; запускать через PHP после проверки файлов.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Команда `phpcs` читает исходники, а `phpcbf` меняет файлы; подключенные правила могут запускать внешние программы.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
PHP_CodeSniffer включает две команды для поддержания стандартов PHP-кода. phpcs разбирает файлы и выводит нарушения выбранных правил, а phpcbf исправляет поддерживаемые замечания. Проверку можно направить на один файл или каталог. Правила проекта хранятся в конфигурации, чтобы локальная работа и CI использовали одинаковые требования. По умолчанию выбран PSR12, но стандарт можно заменить. Отчет показывает нарушения примененного набора правил; сам выбор стандарта остается решением команды.
Для кого. Сопровождающим PHP-приложения командам, которым нужно проверять единый стандарт кода и отделять отчет от автоисправлений.
Подходит, если
- Перед ревью PHP-изменения проходят согласованные правила оформления.
- Команда сохраняет стандарт проекта в конфигурации вместо набора личных настроек редактора.
- Большой каталог сначала проверяют без изменения исходников.
- После просмотра отчета разработчик запускает автоисправления отдельным шагом.
Не подходит, если
- Проверка должна доказывать функциональную корректность приложения.
- Автоисправления нельзя просмотреть в diff перед коммитом.
- Среда использует PHP старше минимально поддерживаемой версии.
Пример запроса к агенту
Проверь PHP-каталог через phpcs по нашему ruleset и сгруппируй замечания. phpcbf пока не запускай.Ограничения
Нужен PHP 7.2.0 или новее; отдельные проверки могут требовать дополнительные расширения или внешние программы. Стандарт PSR12 включен по умолчанию, поэтому для другого соглашения настройте ruleset до первой оценки. Даже выпуск с исправлениями может содержать другие сообщения и исправления, так что закрепляйте версию пакета в CI. Команда `phpcbf` меняет исходники и не гарантирует сохранение всех намерений автора без просмотра diff и запуска тестов.
Как отключить. Уберите проверку из CI и хуков, затем удалите пакет или скачанные PHAR-файлы. Примененные исправления остаются в рабочем коде.
Частые вопросы
Чем отличаются две команды?
phpcs сообщает о нарушениях, phpcbf исправляет доступные случаи. Начинайте с отчета.
Какой стандарт выбран по умолчанию?
PSR12. Для другого стандарта используйте `--standard` или конфигурацию проекта.
Почему в Composer осталось имя squizlabs?
Текущий проект продолжает прежний пакет. Используйте документированное имя зависимости, а источник обновлений проверяйте у PHPCSStandards.
Можно ли проверить целый каталог?
Да. Передайте его путь phpcs. Сначала убедитесь, что правила исключают ненужные файлы.
Как проверить загруженный PHAR?
Для проверки происхождения `phpcs.phar` есть команда `gh attestation verify phpcs.phar -o PHPCSStandards`. У выпусков также есть подпись; порядок ее проверки приведен в README проекта.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыComposerRequireChecker находит PHP-символы и расширения, которые использует код без объявления прямых зависимостей Composer.
Скилл состязательного аудита кода: Hunter ищет ошибки, Skeptic их оспаривает, Referee выносит вердикт, а правки без вашего разрешения не вносятся
Qlty CLI показывает дубли и сложные участки кода до рефакторинга; автоматическое форматирование запускается отдельно.
Плагин Claude Code и OpenCode, который не дает закончить сессию, пока правки 1С не прошли проверку стандартов, архитектуры и XML
CLI для замеров производительности и поиска регрессий; в репозитории лежит плагин с двумя скиллами и MCP для Claude Code и Cursor
Habit Hooks запускает линтеры после правок ИИ-агента и превращает каждое нарушение в короткую инструкцию, как исправить код
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| PHP_CodeSniffer (эта карточка) | нет | 1 572 | ||
| Semgrep | да | не нужна | 17 523 | PHP_CodeSniffer проверяет стандарты оформления PHP и исправляет часть нарушений; Semgrep ищет шаблоны ошибок и уязвимостей в нескольких языках. |
| ComposerRequireChecker | нет | 1 011 | ComposerRequireChecker находит PHP-символы и расширения, которые использует код без объявления прямых зависимостей Composer. | |
| scc | нет | не нужна | 8 860 | scc считает строки кода, комментарии и сложность, анализирует историю Git и дает агенту те же сведения через встроенный MCP. |
Коротко о README
PHPCSStandards сопровождает продолжение проекта Squizlabs, сохранив имя Composer-пакета. Кроме Composer, доступны поставки PHAR и установка через Phive.