Gå til indhold

TailwindPHP

TailwindPHP er en 1:1-portering af TailwindCSS 4.x til PHP. Den fortolker din CSS, scanner din markup for klassenavne og genererer de utility-CSS, som TailwindCSS v4.3.3 producerer — udelukkende i PHP, uden Node.js og uden buildtrin.

  • Ren PHP — leveres som en Composer-pakke og kører på PHP 8.2+ med standardudvidelserne ctype og mbstring. Ingen exec, FFI eller native buildværktøjer.
  • Testet mod TailwindCSS — utilities, varianter, direktiver og funktionerne CSS følger TailwindCSS v4.3.3. Outputtet verificeres mod Tailwinds egne testsuiter, udtrukket fra kilden TypeScript og kørt igen ved hver push (4,400+ tests). De kendte forskelle (enkelte serialiseringsdetaljer uden betydning for cascade samt åbne problemer) er beskrevet i Kompatibilitet og opgradering.
  • Hele funktionssættet — det fulde TailwindCSS v4.3.3-utility-sæt (herunder container, scrollbar-utilities, zoom-* og tab-*), alle varianter (hover, focus, responsiv, mørk tilstand, containerforespørgsler, vilkårlige værdier) og hele direktivfladen: @import, @theme, @apply, @utility, @variant, @custom-variant, @layer, @plugin og @source.
  • Alt inkluderet — cn(), merge(), join() og variants() samler PHP-porteringer af clsx, tailwind-merge og CVA, så de ledsagende biblioteker, som alle Tailwind-projekter bruger, allerede er med.
  • Plugins — @tailwindcss/typography og @tailwindcss/forms er porteret fuldt ud, og et plugin-PHP API lader dig skrive dine egne.

Hvorfor TailwindPHP findes

TailwindCSS er skrevet i TypeScript og kører på Node.js. Det er et fast krav for ethvert PHP-projekt, der vil bruge Tailwind: en ekstra runtime, en installation af npm og et buildtrin i CI og Docker. For mange PHP-applikationer er det besværligt, og de vil helst undgå det.

TailwindPHP fjerner denne byrde. Din PHP-kode kompilerer Tailwind CSS direkte ved kun at bruge standardbiblioteket. Det åbner for ting, som er besværlige eller umulige med værktøjskæden JavaScript:

  • WordPress- og PHP-frameworks — lever Tailwind-baserede temaer og plugins uden at bede brugerne installere Node.js eller køre et build. Kør blot composer require, så er du klar. Se TailwindWP, et eksempel på et WordPress-plugin, der genererer CSS til blokeditoren med TailwindPHP.
  • CSS under kørsel — generér utility-CSS direkte ud fra brugerinput, databaseindhold eller skabelonvariabler i stedet for under build.
  • Enklere udrulning — intet Node.js i produktion, intet buildtrin i CI og intet npm i dit Docker-image.

Det er samme idé, som scssphp bragte til SCSS — hele compileren i PHP.

Funktioner

  • Kompilerer værktøjssættet TailwindCSS v4.3.3, varianter og vilkårlige værdier ud fra klassenavne i dit indhold.
  • Håndterer hele direktivfladen: @import (herunder virtuelle moduler som tailwindcss og tailwindcss/utilities samt reference-importer), @theme, @apply, @utility, @variant, @custom-variant, @layer, @plugin og @source.
  • Implementerer Tailwinds CSS-funktioner — theme(), --theme(), --spacing() og --alpha() — samt konvertering fra color-mix() til oklab() og de CSS-transformationer, som TailwindCSS overlader til LightningCSS.
  • Finder @import i filsystemet med indlejrede importer, deduplikering og brugerdefinerede resolvere eller i indlejrede CSS-strenge.
  • Indeholder Preflight (Tailwinds grundlæggende nulstilling), understøttelse af præfikser, @property-reserveværdier, leverandørpræfikser og flytning af keyframes op i hierarkiet.
  • Samler cn(), merge(), join() og variants()/compose() til opbygning af klassenavne, konfliktløsning og komponentvarianter.
  • Indeholder plugins til typografi og formularer samt en plugin-API (addUtilities, matchUtilities, addComponents, addVariant, theme, …) til brugerdefinerede plugins.
  • Leverer en CLI (bin/tailwindphp) med @tailwindcss/cli-byggeindstillingerne samt filbaseret outputcaching, en vedvarende cache af compilerens tilstand og en CSS-minificering til produktion.

Hvad det ikke er

TailwindPHP er en CSS-compiler, ikke en værktøjskæde til editorer. Den udelader bevidst de IDE-rettede dele af Tailwind-økosystemet — IntelliSense, autofuldførelse, sortering af klasser og source maps — fordi det er editorfunktioner, ikke en del af genereringen af CSS. Alt, der producerer CSS, er omfattet; alt, der driver din editor, er ikke.

Sådan kommer du i gang

  • Kom godt i gang — installer pakken, og generér dit første stylesheet.
  • Brug — scan indhold, tilpas temaet, og brug Tailwinds direktiver.
  • Klasseutilities — cn(), merge(), join() og variants().
  • Plugins — typografi, formularer og udvikling af egne plugins.
  • API — hele tw-fladen og TailwindCompiler-instansen.
  • CLI — bin/tailwindphp til filbaserede builds og overvågningstilstand.
  • Avanceret — arkitektur, caching, ydeevne og kompatibilitetsnoter.