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 и изпълнявани отново при всяко изпращане на промени (4,400+ теста). Известните разлики (няколко подробности при сериализацията без ефект върху каскадата, както и отворени проблеми) са посочени в Съвместимост и надстройване.
- Пълният набор от функции — пълният набор помощни класове 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, е включено; всичко, което захранва редактора ви, не е.
Откъде да започнете
- Първи стъпки — инсталирайте пакета и генерирайте първата си стилова таблица.
- Употреба — сканирайте съдържанието, персонализирайте темата и използвайте директивите на Tailwind.
- Помощни класове —
cn(),merge(),join()иvariants(). - Плъгини — типография, формуляри и създаване на собствени плъгини.
- API — всички директиви
twи екземплярътTailwindCompiler. - CLI —
bin/tailwindphpза компилации от файлове и режим на наблюдение. - Разширени теми — архитектура, кеширане, производителност и бележки за съвместимостта.