Pint е един от най-новите членове на собствените пакети на Laravel и може да ни помогне да постигнем по-четлив и последователен код.

Инсталирането и конфигурирането на Pint е лесно; той е изграден върху PHP-CS-Fixer и има множество правила за коригиране на проблеми със стила на кода.

Освен това Pint е пакет с нулева зависимост и не изисква използването на Laravel 9.

Въпреки това, стартирането на Pint ръчно всеки път, когато искаме да изпратим нашите промени в отдалеченото хранилище, може да бъде болка.

./vendor/bin/pint --dirty

Флагът--dirty изпълнява PHP-CS-Fixer само за променени файлове. Ако искаме да проверим стиловете за всички файлове, можем просто да премахнем флага --dirty.

В тази статия се стремим да автоматизираме процеса на изпълнение на проверки на стила на кода с Pint, преди да ангажираме всеки променен файл. Това ще гарантира, че дори екипните разработчици имат добре дефинирана структура на кода и няма нужда да стартират Laravel Pint всеки път, преди да изпратят кодове към отдалеченото хранилище.

Преди да започнем, важно е да отбележим, че това е много проста настройка и можете да добавите колкото искате опции към Laravel Pint.

За да стартираме ./vendor/bin/pint --dirty точно преди всеки комит, трябва да използваме куката за предварително ангажиране в папката .git.

Първо, ще създадем папка scripts в основната директория Laravel. В тази папка ще имаме файл setup.sh и файл pre-commit без разширение.

scripts/
  setup.sh
  pre-commit

В нашия setup.sh имаме:

#! /usr/bin/env bash

cp scripts/pre-commit .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit

И напишете следните редове във файл pre-commit:

#! /usr/bin/env bash

echo "Check php code styles..."
echo "Running PHP cs-fixer"
 ./vendor/bin/pint --dirty
 git add .
echo "Done!"

Второ, трябва да отидем до composer.json файла и към scripts обекта да добавим този ред: (Ако post-install-cmd ключът не съществува, трябва да създадете post-install-cmd част и след това да добавите по-долу)

"post-install-cmd": [
            "bash scripts/setup.sh"
        ]

Трето от всичко, ние ще изискваме пакет Pint по следния начин:

composer require laravel/pint --dev

И за да сте сигурни, че не забравяйте да бягате:

composer install

Командата composer install ще добави куката pre-commit към нашата .git папка и след това сме готови!

Отсега нататък можем просто да напишем кода си и точно преди да извършим промените си, командата Pint ще се изпълни автоматично и ще коригира нашите стилове на код!

Pint използва кодови стилове на Laravel по подразбиране, но ако искате да използвате psr-12 като мен, можете да създадете pint.json файл в главната директория на вашия проект Laravel и да копирате под json, за да имате по-уверени стилове на PHP код:

{
    "preset": "psr12",
    "rules": {
        "simplified_null_return": true,
        "blank_line_before_statement": {
            "statements": ["return", "try"]
        },
        "binary_operator_spaces": {
            "operators": {
                "=>": "align_single_space_minimal"
            }
        },
        "trim_array_spaces": false,
        "new_with_braces": {
            "anonymous_class": false
        }
    }
}

Това е проста конфигурация за нашата команда Pint и ще опрости нулевите връщания и ще дефинира равен отстъп за масивите. Можете да проверите всички опции за PHP-CS-Fixer тук!

ПРОЧЕТЕТЕ ОЩЕ: