Устали снова и снова защищать качество кода? GrumPHP сделает это за вас! Этот плагин композитора зарегистрирует некоторые git-хуки в вашем репозитории пакетов. Когда кто-то фиксирует изменения, GrumPHP запускает несколько тестов зафиксированного кода. Если тесты пройдут неудачно, вы не сможете зафиксировать изменения. Этот удобный инструмент не только улучшит вашу кодовую базу, но и научит ваших коллег писать более качественный код, следуя лучшим практикам, которые вы определили в команде.
GrumPHP имеет встроенный набор общих задач. Вы сможете использовать GrumPHP с минимальной настройкой.
Мы не хотим утомлять вас всеми подробностями, поэтому быстро: установите его самостоятельно и раскройте мощь GrumPHP!
Чтобы этот пакет работал, вам необходимо убедиться, что в командной строке доступны следующие инструменты:
php
композитор
мерзавец
Этот пакет является плагином композитора и должен быть установлен в зависимости от разработки вашего проекта с помощью композитора:
Установите GrumPHP как phar без зависимостей:
композитору требуется --dev phpro/grumphp-shim
Установите GrumPHP с зависимостями:
composer require --dev phpro/grumphp
Установите GrumPHP без зависимостей и автоматических перехватчиков git через phive.
phive install grumphp
Когда пакет будет установлен, GrumPHP прикрепится к git-хукам вашего проекта. В журналах композитора вы увидите следующее сообщение:
Осторожно! GrumPHP отслеживает ваши коммиты!
GrumPHP никогда не будет подталкивать вас к выполнению конкретной задачи. Вы можете выбрать задачи, которые соответствуют вашим потребностям, и активировать или деактивировать любую задачу в кратчайшие сроки! См. раздел suggest
в композиторе.json.
Примечание. GrumPHP перезапишет существующие перехватчики, если вы не запустите composer install
с --no-plugins
или --no-scripts
. Мы создаем резервную копию вашего git-хука, но лучше убедиться, что у вас также есть резервная копия ваших пользовательских хуков, прежде чем пытаться установить GrumPHP.
Возникли проблемы с установкой GrumPHP? Узнайте, как:
Установить глобально
Установка с экзотической структурой проекта
Некоторые вещи в GrumPHP можно настроить в файле grumphp.yml
, grumphp.yml.dist
или grumphp.dist.yml
в корне вашего проекта (каталог, в котором вы запускаете команду grumphp). Вы можете указать собственное имя и местоположение файла конфигурации в composer.json
или в опции --config
консольных команд.
# grumphp.ymlgrumphp:hooks_dir: ~hooks_preset: localgit_hook_variables:VAGRANT_HOST_DIR: .VAGRANT_PROJECT_DIR: /var/wwwEXEC_GRUMPHP_COMMAND: execENV: {}stop_on_failure: falseignore_unstaged_changes: falsehide_circumvention_tip: falseprocess_timeout: 60ascii: не удалось: grumphp-grumpy.txtsucceeded: grumphp-happy.txtparallel: включено: truemax_workers: 32fixer: включено: truefix_by_default: falseenvironment: файлы: [] переменные: {} пути: [] задачи: {} тестовые наборы: [] расширения: []
Подробности конфигурации разбиты на следующие разделы.
Параметры — настройки конфигурации самого GrumPHP.
Задачи — внешние задачи, выполняющие проверку кода и их соответствующие конфигурации.
Тестовые наборы
Расширения
Расширение TaskRunner
Проверка соглашений
Поскольку GrumPHP — это всего лишь инструмент CLI, можно запускать следующие команды:
настроить
мерзавец: инициализация
мерзавец: деинит
git: предварительная фиксация
git:commit-msg
бегать
GrumPHP работает с PHP 5.6 или выше.
Этот пакет был протестирован со следующими клиентами git:
Интерфейс командной строки Unix
Интерфейс командной строки Mac
Интерфейс командной строки Windows
PhpStorm Git
Atlassian SourceTree
Синтево СмартГит
Уже доступно множество задач, которые помогут вашей команде написать отличный код. Мы всегда стремимся поддерживать новые задачи. Не стесняйтесь зарегистрировать проблему или создать запрос на включение для задачи, которую мы забыли.
Вам не хватает какой-то функции или вы нашли ошибку? Зарегистрируйте это в трекере проблем! Хотите помочь? Не стесняйтесь обращаться к нам!
Часто задаваемые вопросы
Ошибки и запросы на добавление функций отслеживаются на GitHub. Пожалуйста, ознакомьтесь с нашими правилами, прежде чем добавлять свой код.
GrumPHP лицензируется по лицензии MIT.