Hoppa till innehåll

TailwindPHP

TailwindPHP är en 1:1-portering av TailwindCSS 4.x till PHP. Den tolkar din CSS, genomsöker din markup efter klassnamn och genererar utility-CSS som TailwindCSS v4.3.3 producerar — helt i PHP, utan Node.js och byggsteg.

  • Ren PHP — levereras som ett Composer-paket och körs på PHP 8.2+ med standardtilläggen ctype och mbstring. Ingen exec, ingen FFI och inga inbyggda byggverktyg.
  • Kontrollerat mot TailwindCSS — verktyg, varianter, direktiv och CSS-funktioner följer TailwindCSS v4.3.3. Utdata verifieras mot Tailwinds egna testsviter, extraherade från källkoden för TypeScript och körda igen vid varje push (4,400+ tester). De kända skillnaderna (några serialiseringsdetaljer utan påverkan på kaskaden samt öppna ärenden) finns listade i Kompatibilitet och uppgradering.
  • Hela funktionsuppsättningen — hela TailwindCSS-verktygsuppsättningen för v4.3.3 (inklusive container, rullningslistverktygen, zoom-* och tab-*), alla varianter (hover, fokus, responsiv design, mörkt läge, containerfrågor, godtyckliga värden) och hela uppsättningen direktiv: @import, @theme, @apply, @utility, @variant, @custom-variant, @layer, @plugin och @source.
  • Allt ingår — cn(), merge(), join() och variants() innehåller porteringar av clsx, tailwind-merge och CVA i PHP, så de kompletterande bibliotek som alla Tailwind-projekt använder finns redan på plats.
  • Plugin — @tailwindcss/typography och @tailwindcss/forms är fullständigt porterade, och en PHP-plugin API låter dig skriva en egen.

Varför TailwindPHP finns

TailwindCSS är skrivet i TypeScript och körs på Node.js. Det är ett absolut krav för alla projekt i PHP som vill använda Tailwind: en andra körmiljö, en npm-installation och ett byggsteg i CI och Docker. För många PHP-applikationer är det ett extra krångel de helst slipper.

TailwindPHP tar bort det kravet. Din PHP-kod kompilerar Tailwind CSS direkt med enbart standardbiblioteket. Det möjliggör sådant som är krångligt eller omöjligt med verktygskedjan för JavaScript:

  • Ramverk för WordPress och PHP — leverera teman och insticksprogram som drivs av Tailwind utan att be användarna installera Node.js eller köra ett bygge. Kör bara composer require så är du igång. Se TailwindWP, ett exempel på ett WordPress-insticksprogram som genererar blockredigerarens CSS med TailwindPHP.
  • CSS vid körning — generera utility-CSS direkt från användarinmatning, databasinnehåll eller mallvariabler i stället för vid byggtillfället.
  • Enklare driftsättning — ingen Node.js i produktion, inget byggsteg i CI och ingen npm i din Docker-avbildning.

Det är samma idé som scssphp tog till SCSS — hela kompilatorn i PHP.

Vad det gör

  • Kompilerar hela uppsättningen utilities för TailwindCSS v4.3.3, varianter och godtyckliga värden från klassnamn i innehållet.
  • Hanterar alla direktiv: @import (inklusive virtuella moduler som tailwindcss och tailwindcss/utilities samt reference-importer), @theme, @apply, @utility, @variant, @custom-variant, @layer, @plugin och @source.
  • Implementerar Tailwinds CSS-funktioner — theme(), --theme(), --spacing() och --alpha() — samt konvertering från color-mix() till oklab() och de CSS-transformeringar som TailwindCSS delegerar till LightningCSS.
  • Hämtar @import från filsystemet med nästlade importer, deduplicering och anpassade resolvrar, eller från inbäddade CSS-strängar.
  • Inkluderar Preflight (grundåterställningen för Tailwind), prefixstöd, reservlösningar för @property, leverantörsprefixning och flytt av keyframes.
  • Innehåller cn(), merge(), join() och variants()/compose() för att bygga klassnamn, lösa konflikter och hantera komponentvarianter.
  • Innehåller insticksprogrammen för typografi och formulär samt ett insticksprograms-API (addUtilities, matchUtilities, addComponents, addVariant, theme, …) för egna insticksprogram.
  • Erbjuder en CLI (bin/tailwindphp) med samma byggalternativ som @tailwindcss/cli, samt cache för filbaserad utdata, en beständig cache för kompilatortillstånd och en CSS-minimerare för produktion.

Vad det inte är

TailwindPHP är en kompilator för CSS, inte en verktygskedja för redigerare. Den utelämnar medvetet de delar av ekosystemet för Tailwind som riktar sig till utvecklingsmiljön — IntelliSense, automatisk komplettering, klassortering och källkartor — eftersom det är redigerarfunktioner och inte en del av genereringen av CSS. Allt som producerar CSS ingår; allt som driver din redigerare gör det inte.

Kom igång

  • Komma igång — installera paketet och generera din första stilmall.
  • Användning — genomsök innehåll, anpassa temat och använd direktiven i Tailwind.
  • Klassverktyg — cn(), merge(), join() och variants().
  • Insticksprogram — typografi, formulär och hur du skapar egna.
  • API — alla tw-direktiv och TailwindCompiler-instansen.
  • CLI — bin/tailwindphp för filbaserade byggen och övervakningsläge.
  • Avancerat — arkitektur, cachelagring, prestanda och kompatibilitetsinformation.