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 тук!
ПРОЧЕТЕТЕ ОЩЕ:
- „Php Artisan Down — Secret“
- „Използване на Laravel контролери, събития, слушатели, услуги и валидиране заедно!“
- Dockerize Laravel, Nginx, MariaDB, PhpMyAdmin, Redis и Npm
- „Нов метод FindOr() на Laravel“
- Laravel добави префикс към ключ за масив!