Перейти к содержимому

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 и запускаются при каждом отправлении изменений.

Все утилиты и варианты

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

Директивы CSS

@import, @theme, @apply, @utility, @custom-variant, @layer, @plugin и @source разбираются и разрешаются в PHP.

Генерация во время выполнения

Генерируйте утилитарные CSS на лету из HTML, содержимого базы данных или переменных шаблона. Этап сборки не требуется.

Все необходимое включено

cn(), merge(), join() и variants(): clsx, tailwind-merge и порт CVA для PHP без дополнительных пакетов.

Плагины

@tailwindcss/typography и @tailwindcss/forms портированы на PHP; также доступен плагин PHP API для собственных утилит и компонентов.

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.