#Введение
Laravel Pint — это строгое средство для исправления стиля PHP-кода для минималистов. Pint построен на базе PHP-CS-Fixer и упрощает поддержание чистого и единообразного стиля кода.
Pint автоматически устанавливается во всех новых приложениях Laravel, поэтому вы можете сразу начать его использовать. По умолчанию Pint не требует настройки и исправляет стиль кода, следуя строгому стилю кодирования Laravel.
#Установка
Pint включён в последние версии фреймворка Laravel, поэтому обычно установка не требуется. Однако для старых приложений вы можете установить Laravel Pint через Composer:
composer require laravel/pint --dev
#Запуск Pint
Вы можете запустить Pint для исправления стиля кода, вызвав бинарный файл pint, который находится в директории vendor/bin вашего проекта:
./vendor/bin/pint
Также можно запустить Pint для конкретных файлов или директорий:
./vendor/bin/pint app/Models
./vendor/bin/pint app/Models/User.php
Pint выведет подробный список всех файлов, которые он обновил. Чтобы увидеть ещё больше деталей о внесённых изменениях, используйте опцию -v при запуске Pint:
./vendor/bin/pint -v
Если вы хотите, чтобы Pint только проверял ваш код на ошибки стиля, не изменяя файлы, используйте опцию --test:
./vendor/bin/pint --test
Если вы хотите, чтобы Pint изменял только файлы с незакоммиченными изменениями в Git, используйте опцию --dirty:
./vendor/bin/pint --dirty
#Настройка Pint
Как уже упоминалось, Pint не требует настройки. Однако если вы хотите изменить пресеты, правила или папки для проверки, создайте файл pint.json в корне вашего проекта:
{
"preset": "laravel"
}
Кроме того, если вы хотите использовать pint.json из определённой директории, укажите опцию --config при запуске Pint:
pint --config vendor/my-company/coding-style/pint.json
#Пресеты
Пресеты определяют набор правил для исправления стиля кода. По умолчанию Pint использует пресет laravel, который исправляет стиль согласно строгим правилам Laravel. Однако вы можете указать другой пресет с помощью опции --preset:
pint --preset psr12
При желании пресет можно задать в файле pint.json вашего проекта:
{
"preset": "psr12"
}
В настоящее время Pint поддерживает пресеты: laravel, per, psr12 и symfony.
#Правила
Правила — это рекомендации по стилю, которые Pint использует для исправления кода. Как уже сказано, пресеты — это предопределённые группы правил, подходящие для большинства PHP-проектов, поэтому обычно не нужно беспокоиться о конкретных правилах.
Тем не менее, вы можете включать или отключать отдельные правила в файле pint.json:
{
"preset": "laravel",
"rules": {
"simplified_null_return": true,
"braces": false,
"new_with_braces": {
"anonymous_class": false,
"named_class": false
}
}
}
Pint построен на базе PHP-CS-Fixer. Поэтому вы можете использовать любые его правила для исправления стиля в вашем проекте: PHP-CS-Fixer Configurator.
#Исключение файлов и папок
По умолчанию Pint проверяет все .php файлы в вашем проекте, кроме тех, что находятся в директории vendor. Если вы хотите исключить дополнительные папки, используйте опцию конфигурации exclude:
{
"exclude": [
"my-specific/folder"
]
}
Если вы хотите исключить все файлы, содержащие определённый шаблон в имени, используйте опцию notName:
{
"notName": [
"*-my-file.php"
]
}
Если вы хотите исключить файл, указав точный путь к нему, используйте опцию notPath:
{
"notPath": [
"path/to/excluded-file.php"
]
}