Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Laravel Pint навчився форматувати Blade
Новини 04 серпня 2026

Laravel Pint навчився форматувати Blade

Pint 1.30.0 навчився форматувати Blade-шаблони. Досі Pint свідомо обходив .blade.php стороною, і кожен вирішував це питання сам - зазвичай окремим конфігом Prettier поруч з конфігом Pint.

Як увімкнути

Найшвидший спосіб - прапорець:

./vendor/bin/pint --blade

Він вмикає правило Pint/laravel_blade. Щоб не згадувати про прапорець щоразу, пропишіть правило в pint.json:

{
    "preset": "laravel",
    "rules": {
        "Pint/laravel_blade": true
    }
}

Після цього звичайний pint форматує і PHP, і Blade.

Що саме форматується

Під капотом - Prettier і плагін prettier-plugin-blade Шухея Хаясібари, той самий, що лежить в основі blade-formatter. Тобто Laravel не писав власний форматер, а взяв перевірений інструмент спільноти й прибрав ручне налаштування.

Обробляються:

  • Blade-синтаксис і вкладені директиви;
  • атрибути Alpine;
  • wire:-звʼязки Livewire;
  • компоненти Flux;
  • сортування класів Tailwind;
  • блоки @verbatim;
  • heredoc та інлайновий SVG;
  • класи однофайлових компонентів.

Сортування класів Tailwind тут варте окремої згадки: суперечки про порядок утиліт у class - класична тема code review, яку тепер закриває інструмент.

Форматує Node, а не PHP

Головна практична деталь: правило виконується не на PHP. Потрібні три npm-пакети:

  • prettier (^3.8.4)
  • prettier-plugin-blade (^3.2.2)
  • prettier-plugin-tailwindcss (^0.8.0)

Якщо їх немає, Pint це помічає, визначає ваш пакетний менеджер і пропонує встановити - кожен з потрібним обмеженням версії. Тобто ручного налаштування майже немає, але залежність від Node зʼявляється. Для CI це означає, що на кроці лінтингу тепер має бути не лише PHP.

Що Pint не чіпає

Навіть з увімкненим правилом форматер обходить:

  • файли Envoy - Envoy.blade.php і envoy.blade.php;
  • гайдлайни Boost у resources/boost/guidelines/;
  • поштові шаблони в resources/views/emails/ і resources/views/mail/.

Виняток для пошти цілком слушний: верстка листів тримається на таблицях та інлайнових стилях і болісно реагує на переформатування. Той, хто хоч раз ловив зіпсований лист у Outlook після «косметичної» правки, оцінить.

Решта релізу

Крім Blade, у 1.30.0 приїхали дрібніші зміни:

  • --diff тепер враховує перейменовані файли - фільтр змінили на --diff-filter=AMR;
  • --quiet більше не ковтає проблеми, а пише їх у stderr;
  • у pint.json зʼявився ключ in для налаштування тек.

Чи варто вмикати

Ламких змін немає: можливість опційна, і з вимкненим правилом Pint поводиться з .blade.php рівно так, як раніше - просто виключає їх зі свого пошуку файлів.

Якщо у вас уже налаштований Prettier для Blade, виграш - здебільшого в тому, що конфігурація й запуск стають одним інструментом замість двох. Якщо ж Blade у вас досі форматувався «як вийде», це хороший привід нарешті закрити питання - разом з порядком класів Tailwind у розмітці.

Перед першим запуском на великому проєкті варто зробити окремий коміт: форматування 200 шаблонів дасть diff, у якому загубиться будь-яка змістовна правка.

11

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Новини 04 листопада 2026

Laravel 13.40: довгі завдання черги, insertBefore() для middleware і strict для запиту

Laravel 13.40.0 додає Queue::whenJobRunsLongerThan() і Schedule::whenTaskRunsLongerThan() для завдань черги та планувальника, що виконуються задовго, а також insertBefore() і insertAfter() для вбудованого стеку middleware. Крім того - прапорець strict для $request->integer() і string() та DB::hasCommitId() для перевірки реплік.

2
Новини 04 листопада 2026

Вразливість у Concurrency: вивід задачі міг призвести до виконання коду в Laravel

Laravel 13.40.0 і 12.71.0 закривають вразливість у драйвері process фасаду Concurrency: задача, яка друкує текст від користувача, могла підробити свій результат, а батьківський процес робив його unserialize(). Пояснюємо, кого це стосується і що зробити до оновлення.

3

Вакансії за темою

Full stack developer (e-commerce продукт)

Laravel Київ Офіс B2B Middle ₴100,000 - ₴140,000

Full Stack розробник для постійної in-house роботи над розвитком e-commerce продукту: адаптивні веб-інтерфейси (desktop, tablet, mobile), backend, інтеграції з зовнішніми системами через REST API, оптимізація БД, пошуку та фільтрації. Стек: PHP, Laravel, JavaScript, HTML, CSS, Blade, Tailwind CSS, MySQL. Вимоги: комерційний досвід PHP/Laravel від 3 років, впевнене володіння JavaScript, HTML, CSS, знання Git, Composer, Linux, принципів ООП та SOLID.

Senior PHP Developer

Senior PHP розробник для логістичної платформи: бекенд-сервіси на PHP 8.3+ та Laravel 11 і веб-панель на Filament 3 та Livewire 3. Завдання: REST API, авторизація, інтеграції через API і вебхуки, оптимізація PostgreSQL, черги та кешування. Вимоги: комерційний досвід Laravel, знання PostgreSQL, Redis, WebSockets, CI/CD та діагностики продакшн-проблем. Віддалено, також розглядають сильних Middle+.

Middle PHP developer

Middle PHP розробник для високонавантаженої веб-платформи Social Casino/Online Casino: розвиток продукту, перехід монолітного проєкту на мікросервіси (Symfony), оптимізація баз даних, написання unit та functional тестів. Стек: PHP 7.4, Symfony 4, Yii, PostgreSQL 14, Redis, RabbitMQ, NGINX. Вимоги: 3-4+ роки продуктового досвіду з PHP, Yii, Symfony, PostgreSQL, розуміння REST API, Git, ООП та SOLID. Досвід з брокерами повідомлень і DDD буде плюсом.

Пакети за темою

Kalimera

welldigit/kalimera

Interactive installer that scaffolds Laravel applications the Well Digit way.

v1.0.0 16

Bagisto

bagisto/bagisto

Bagisto — це платформа для електронної комерції, побудована на Laravel. Вона надає готове рішення для створення та управління інтернет-магазинами з підтримкою каталогу товарів, замовлень, платежів та клієнтів.

28,325 v2.5.0 13 28