1. Пакеты
  2. Laravel Pint

Присоединяйся к нашему Telegram сообществу @webblend!

Здесь ты найдешь сниппеты по Laravel и полезные советы по веб-разработке.

Введение

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 отобразит подробный список всех файлов, которые он обновит. Вы можете просмотреть еще больше деталей об изменениях 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:

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"
]
}