Перейти до вмісту

TailwindPHP

Порт TailwindCSS 4.x для PHP. Генеруйте Tailwind утилітарні CSS у PHP без Node.js і збирання. Містить cn(), tailwind-merge, CVA, плагіни типографіки й форм та CLI.

Термінал
composer require tailwindphp/tailwindphp

Останній випуск v1.7.0 MIT PHP 8.2+

На практиці

Передайте розмітку й необов’язкову конфігурацію CSS одним викликом PHP, щоб отримати таблицю стилів.

Генеруйте CSS з PHP

tw::generate() сканує розмітку, знаходить назви класів і повертає лише CSS, потрібні цим класам. Другий аргумент приймає вхідну конфігурацію CSS, тож колір, визначений у @theme, стає утилітою.

cn() формує рядки класів і розв’язує конфлікти Tailwind, тож перемагає остання конфліктна утиліта.

PHP
use TailwindPHP\tw;

$css = tw::generate(
    '<div class="bg-brand p-4">Hello</div>',
    '@import "tailwindcss"; @theme { --color-brand: #3b82f6; }'
);
// .bg-brand now resolves to var(--color-brand)

Повністю на PHP

Без Node.js та етапу збирання. Працює на PHP 8.2+ зі стандартними розширеннями mbstring і ctype. Виконайте composer require — і готово.

Відповідає TailwindCSS v4.3.3

Порт Tailwind v4.3.3 з тими самими утилітами, варіантами й директивами. Відомі відмінності від Tailwind задокументовано.

4,400+ тестів

Результат перевіряється за власними наборами тестів TailwindCSS, витягнутими з вихідного коду TypeScript і повторно запущеними після кожного push.

Усі утиліти й варіанти

Повний набір утиліт і всі варіанти: hover, focus, адаптивність, темний режим, контейнерні запити й довільні значення.

Директиви CSS

@import, @theme, @apply, @utility, @custom-variant, @layer, @plugin і @source: розбір і визначення у PHP.

Генерація під час виконання

Генеруйте утиліти CSS на льоту з HTML, вмісту бази даних або змінних шаблону. Етап збирання не потрібен.

Усе необхідне в комплекті

cn(), merge(), join() і variants(): clsx, tailwind-merge і перенесений на PHP CVA — без додаткових пакетів.

Плагіни

@tailwindcss/typography і @tailwindcss/forms перенесено на PHP, а також є плагін PHPAPI для власних утиліт і компонентів.

CLI

bin/tailwindphp створює таблицю стилів із вхідного файла CSS за допомогою -i, -o, --watch і --minify.

Перегляд теми

Читайте сирі й обчислені значення властивостей, кольори, контрольні точки та відступи для будь-якого класу безпосередньо з PHP.

Кеш і мінімізатор

Вбудований мінімізатор CSS і файловий кеш із TTL пришвидшують повторні збирання та зменшують результат.

Фреймворки WordPress та PHP

Створюйте теми й плагіни на основі Tailwind без Node.js у стеку. TailwindPHP — це лише одна залежність Composer.

Чому TailwindPHP

Одне середовище виконання у виробничому середовищі

Проєкт PHP, у якому використовують Tailwind, зазвичай також потребує Node.js, інсталяції npm і етапу збирання в CI та Docker. Натомість TailwindPHP компілює CSS безпосередньо в процесі PHP.

CSS для вмісту, відомого під час виконання

Розмітку з бази даних, введені користувачем дані або змінну шаблону можна передати просто в tw::generate(), який поверне лише CSS, потрібні її класам.

Перевірено на закріпленому випуску Tailwind

Тестові випадки витягуються із закріпленого в репозиторії вихідного коду Tailwind і запускаються для результату PHP, тож будь-яка розбіжність зупиняє CI. Випуск 1.7.0 перевірено на Tailwind v4.3.3 за допомогою 4,427 тестів.

CSS для кожної сторінки з одного компілятора

Скомпілюйте тему один раз за допомогою tw::compile(), а потім викликайте generateExact() для кожної сторінки. Кожен виклик повертає результат, який дав би холодний tw::generate() цієї сторінки, без повторного розбору теми.

Порівняно з

Tailwind Labs пропонує власні способи створення Tailwind CSS. Ось чим відрізняється TailwindPHP.

TailwindPHP у порівнянні з іншими інструментами
Tailwind CLI (@tailwindcss/cli) ПеревагиВласний інструмент командного рядка Tailwind, який встановлюється з npm. Він шукає назви класів у ваших файлах HTML, компонентах і шаблонах та записує відповідні стилі до статичного файла CSS. Відмінність від TailwindPHPTailwindPHP компілює код у PHP без встановлення Node.js чи npm. Він прив’язаний до фіксованого випуску Tailwind (v4.3.3 у 1.7.0), а власний бенчмарк показує, що оригінал TypeScript швидше виконує низькорівневі операції.
Окремий виконуваний файл Tailwind CLI ПеревагиTailwind CLI як окремий виконуваний файл для проєктів, які хочуть ним користуватися без встановлення Node.js. Відмінність від TailwindPHPВиконуваний файл — це окремий бінарний файл, який запускається як етап збирання. TailwindPHP — це пакет Composer, який викликає ваш код PHP, тож він також може генерувати CSS під час запиту на основі вмісту бази даних або змінних шаблону.
Tailwind Play CDN ПеревагиТег script запускає Tailwind у браузері, щоб спробувати його без етапу збирання. У документації Tailwind зазначено, що він призначений для розробки й не рекомендований для виробничого середовища. Відмінність від TailwindPHPTailwindPHP теж не потребує етапу збирання, але генерує CSS на сервері в PHP і повертає його як рядок, наприклад для запису в таблицю стилів.

Запитання та відповіді

Короткі відповіді з документації TailwindPHP.

Установіть пакет за допомогою Composer і скористайтеся посібником для початківців, щоб згенерувати першу таблицю стилів із PHP.