Laravel Pint — средство исправления стиля кода
Из файла readme: Laravel Pint — средство исправления стиля PHP-кода с нулевой зависимостью для минималистов, созданное поверх PHP-CS-Fixer
.
Как только я прочитал это, я был взволнован, я имею в виду очень взволнован. В современном PHP мы прошли этап оттачивания мастерства, делая код более строгим и лучше тестируемым, гарантируя, что у нас есть согласованный стиль кода. Всё началось ещё когда был сформирован PHP-FIG и начали выпускать PSR, и это набрало силу с помощью фреймворков, имеющих свои собственные опубликованные правила стиля. Этот пакет ничем не отличается и будет автоматически тестировать ваш стиль кода на основе предустановленных настроек.
Чтобы начать работу с этим пакетом, установите его с помощью composer:
composer require laravel/pint --dev
После установки ему не требуется настройка, вы можете просто запустить его:
./vendor/bin/pint
Без конфигурации, настройки, без раздумий и усилий — мой проект мгновенно оценивается на соответствие стилю PSR-12 и автоматически исправляется. Волшебный. Поддержание вашего кода в чистоте и согласованности иногда требует усилий и размышлений о том, как получить эту настройку — какие правила вам нужно реализовать. Или с помощью PHP CS Fixer, вам нужно было создавать файл конфигурации, а затем пройти и создать finder для добавления правил в PHP файл в виде массива. Всё быстро запуталось, верно?
Больше нет. Если вы создадите файл pint.json
в корне вашего проекта, он просто загрузит его и прочитает конфигурацию — в противном случае придерживайтесь значений по умолчанию. Вся конфигурация выполняется с использованием JSON, что делает её проще в использовании и более читабельной.
Давайте быстро рассмотрим новую конфигурацию pint
с использованием предварительных установок. Но давайте рассмотрим, как это сделать с новым Laravel проектом, поэтому создайте новый проект:
laravel new pint-demo
Откройте новый проект в терминале и установите pint
:
composer require laravel/pint --dev
С новым приложением Laravel давайте настроим базовую конфигурацию для Laravel. Создайте файл pint.json
и добавьте:
{
"preset": "laravel"
}
Теперь запустим pint:
./vendor/bin/pint
Вы должны увидеть вывод аналогичный приведённому ниже:
Мы стартовали 🚀
Итак, давайте изменим preset
на PSR-12 и посмотрим результат:
{
"preset": "psr12"
}
Перезапустите pint и посмотрите на результат:
./vendor/bin/pint
Вы должны увидеть следующий вывод:
Давайте немного проинспектируем его. В нём реализованы такие правила, как single_trait_insert_per_statement
, braces
и new_with_braces
. Что если мы хотим немного изменить их? Что ж, мы можем легко включать и выключать правила. Давайте отключим braces
в нашем pint.json
:
{
"preset": "psr12",
"rules": {
"braces": false
}
}
Вот оно! Легко настроить как вы хотите свой стиль кода. Больше никакого беспорядочно PHP кода и массивов для настройки вашего стиля кода. Итак, давайте перезапустим pint, но на этот раз мы хотим сделать пробный прогон, посмотреть, что изменится:
./vendor/bin/pint —test
Потрясающе, верно? Хороший чистый вывод, пробный прогон, проверка того, что не получится и почему! Так что же произойдёт, если мы захотим получить немного больше информации? Я исправил указанные выше файлы и вернулся к миграции — и отменил эти изменения, чтобы мы могли их протестировать. Давайте снова сделаем пробный прогон, но на этот раз мы хотим получить подробный вывод, используя флаг -v
:
Мы получили отличный результат, как и при использовании GitHub, для внесения изменений. Таким образом, можно увидеть проблему со стилем кода, за что её улавливают и какие изменения произойдут, если мы её исправим — и это всё с помощью одной довольно простой команды.
Не знаю как у вас, но это обязательный пакет для всех моих будущих проектов, пакетов и всего над чем работаю.