TailwindPHP
TailwindPHP — це 1:1 порт TailwindCSS 4.x для PHP. Він аналізує ваш CSS, сканує розмітку на наявність назв класів і генерує утиліту CSS, яку створює TailwindCSS v4.3.3, — повністю на PHP, без Node.js і етапу збірки.
- На чистому PHP — постачається як пакет Composer і працює на PHP 8.2+ зі стандартними розширеннями
ctypeіmbstring. Безexec, FFI та нативних засобів збірки. - Перевірено на відповідність TailwindCSS — утиліти, варіанти, директиви та функції CSS відповідають TailwindCSS v4.3.3. Результат перевіряється власними наборами тестів Tailwind, виділеними з вихідного коду TypeScript і повторно запусканими після кожного push (понад 4,400 тестів). Відомі відмінності (кілька нюансів серіалізації без впливу на каскад, а також відкриті проблеми) наведено в розділі Compatibility & upgrading.
- Повний набір можливостей — повний набір утиліт TailwindCSS v4.3.3 (зокрема
container, утиліти смуги прокручування,zoom-*іtab-*), усі варіанти (наведення, фокус, адаптивність, темний режим, контейнерні запити, довільні значення) та повний набір директив:@import,@theme,@apply,@utility,@variant,@custom-variant,@layer,@pluginі@source. - Усе необхідне вже в комплекті —
cn(),merge(),join()іvariants()містять вбудовані порти PHP clsx, tailwind-merge і CVA, тож супутні бібліотеки, до яких звертається кожен проєкт Tailwind, уже доступні. - Плагіни —
@tailwindcss/typographyі@tailwindcss/formsповністю перенесені, а PHP плагін API дає змогу створювати власні.
Навіщо потрібен TailwindPHP
TailwindCSS написано на TypeScript і працює на Node.js. Це обов’язкова вимога для будь-якого проєкту PHP, якому потрібен Tailwind: друге середовище виконання, встановлення npm і етап збірки в CI та Docker. Для багатьох застосунків PHP це зайві складнощі, яких хотілося б уникнути.
TailwindPHP усуває цю потребу. Ваш код PHP компілюється безпосередньо в Tailwind CSS, використовуючи лише стандартну бібліотеку. Це відкриває кілька можливостей, які складно або неможливо реалізувати за допомогою інструментарію JavaScript:
- Фреймворки WordPress і PHP — створюйте теми й плагіни на базі Tailwind, не вимагаючи від користувачів встановлювати Node.js чи запускати збірку. Просто
composer require— і готово. Див. TailwindWP — приклад плагіна WordPress, який генерує CSS редактора блоків за допомогою TailwindPHP. - CSS під час виконання — генеруйте утиліту CSS на льоту з даних користувача, вмісту бази даних або змінних шаблону, а не під час збірки.
- Простіше розгортання — без Node.js у продакшені, етапу збірки в CI чи npm в образі Docker.
Це та сама ідея, яку scssphp переніс у SCSS: повний компілятор на PHP.
Що він робить
- Компілює набір утиліт TailwindCSS v4.3.3, варіанти й довільні значення з назв класів, знайдених у вашому вмісті.
- Обробляє повний набір директив:
@import(зокрема віртуальні модулі, як-отtailwindcssіtailwindcss/utilities, та імпортиreference),@theme,@apply,@utility,@variant,@custom-variant,@layer,@pluginі@source. - Реалізує функції CSS Tailwind:
theme(),--theme(),--spacing()і--alpha(), а також перетворенняcolor-mix()→oklab()і трансформації CSS, які TailwindCSS делегує LightningCSS. - Обробляє
@importіз файлової системи з вкладеними імпортами, усуненням дублікатів і власними резолверами або з вбудованих рядків CSS. - Постачається з Preflight (базовим скиданням стилів Tailwind), підтримкою префіксів, резервними значеннями
@property, префіксацією для браузерів і винесенням keyframes. - Містить
cn(),merge(),join()іvariants()/compose()для створення назв класів, розв’язання конфліктів і варіантів компонентів. - Містить плагіни типографіки й форм, а також API для плагінів (
addUtilities,matchUtilities,addComponents,addVariant,theme, …). - Надає CLI (
bin/tailwindphp) з параметрами збірки@tailwindcss/cli, а також кешування вихідних файлів, постійний кеш стану компілятора й мінімізатор CSS для продакшену.
Чим цей інструмент не є
TailwindPHP — компілятор CSS, а не інструментарій редактора. Він навмисно не містить компонентів екосистеми Tailwind для IDE: IntelliSense, автодоповнення, сортування класів і карт джерела, адже це можливості редактора, а не частина генерації CSS. До завдань компілятора належить усе, що створює CSS; усе, що забезпечує роботу редактора, — ні.
З чого почати
- Getting Started — встановіть пакет і згенеруйте свою першу таблицю стилів.
- Usage — скануйте вміст, налаштовуйте тему й використовуйте директиви Tailwind.
- Class Utilities —
cn(),merge(),join()іvariants(). - Plugins — типографіка, форми та створення власних плагінів.
- API — повний набір можливостей
twі екземплярTailwindCompiler. - CLI —
bin/tailwindphpдля збірок на основі файлів і режиму спостереження. - Advanced — архітектура, кешування, продуктивність і примітки щодо сумісності.