Laravel Pint - code style fixer (форматирует код по стандартам)
# Вводные
- Pint построен на коде php-cs-fixer
- в phpstorm уже есть из коробки форматировщик кода (code style fixer)
- но хз по какому стандарту (код получается красивый)
- pint и php-cs-fixer - позволяют явно указать конкретный стиль кодирования (PSR-12...)
- Pint идёт в коробке с Laravel (т.е. ставить ничего уже не нужно)
- Pint документация: <https://laravel.com/docs/11.x/pint>
- Pint установить для старых проектов так: composer require laravel/pint --dev
= сделает /vendor/bin/pint
# Форматирование в PhpStorm
- PhpStorm форматирование файла открытого (встроенный форматировщик, вручную по хоткею): cmd+alt+L
- PhpStorm заменить форматировщик встроенный на внешний (рис.1 и рис.2):
- settings - Editor - Inspections → Pint ✓
- settings - PHP - Quality tools = вкл radio "Pint"
- settings - PHP - Quality tools - Laravel pint = settings
по дефолту приводит к стилю: Laravel
psr-12 - можно выбрать в select
psr-12 - можно задать через конфиг /pint.json
пример конфига простого: [документация laravel/pint](<https://laravel.com/docs/11.x/pint>)
rules - [<https://mlocati.github.io/php-cs-fixer-configurator/#version:3.13>](<https://mlocati.github.io/php-cs-fixer-configurator/#version:3.13https://mlocati.github.io/php-cs-fixer-configurator/#version:3.13>)
- PhpStorm включить Editor подсветку Pint-советов:
- Settings - Editor - Inspections - Quality Tools = Pint
- Pint запустить для файла вручную (отформатирует): ./vendor/bin/pint app/Actions/SendMail.php
- Pint запустить для каталога вручную: ./vendor/bin/pint app/Actions (рис.8)
- Pint запустить для каталога из меню: FileTree → ПКМ → Inspect Code (рис.6)
= панель с советами Problems - перечислит ошибки - исправить можно там же (рис.7)
- Pint запустить для всего проекта: Menu → Code → Inspect code
- Git, настроить Форматирование принудительное при Commit (рис.5):
- Сommit - Settings
✓ reformat
✓ optimize imports
# Итого:
1. на минималках: достаточно "встроенного форматироващика PhpStorm" (по хоткею)
- отформатировать вручную: cmd+opt+L
2. для PSR-12:
- включить внешний форматировщик (Pint)
- можно оставить одновременно 2 форматировщика: И внутренний(phpstorm) И внешний(pint) - (рис.4)
рекомендую: так убирает пустые строки + PSR12 стиль
- для командной работы в Pint можно задать одинаковый конфиг для всех (либо дефолтный, либо /pint.json)
3. отформатировать при git commit = в репу всегда код после форматировщика
- вкл External Formatter
- настройки Pint
- Pint - включить подсветку в Editor
- internal и external одновременно
- git и форматирование
- форматировать одну папку
- пакетная обработка файлов и правки
- запуск вручную в консоли