TailwindPHP
TailwindPHP este o portare 1:1 a TailwindCSS 4.x în PHP. Analizează CSS-ul, scanează marcajul pentru a găsi numele claselor și generează CSS pentru aceleași clase utilitare ca TailwindCSS v4.3.3 — integral în PHP, fără Node.js și fără etapă de compilare.
- PHP pur — este distribuit ca pachet Composer și rulează pe PHP 8.2+ cu extensiile standard
ctypeșimbstring. Fărăexec, FFI sau instrumente de compilare native. - Verificat în raport cu TailwindCSS — utilitarele, variantele, directivele și funcțiile CSS urmăresc TailwindCSS v4.3.3. Rezultatul este verificat cu propriile suite de teste ale Tailwind, extrase din sursa TypeScript și rulate din nou la fiecare push (peste 4,400 de teste). Diferențele cunoscute (câteva detalii de serializare fără efect asupra cascadei, precum și probleme deschise) sunt enumerate în Compatibility & upgrading.
- Set complet de funcționalități — întregul set de utilitare TailwindCSS v4.3.3 (inclusiv
container, utilitarele pentru bare de derulare,zoom-*șitab-*), toate variantele (hover, focus, responsive, mod întunecat, interogări de container, valori arbitrare) și toate directivele:@import,@theme,@apply,@utility,@variant,@custom-variant,@layer,@pluginși@source. - Totul inclus —
cn(),merge(),join()șivariants()includ portări PHP ale clsx, tailwind-merge și CVA, astfel încât bibliotecile auxiliare folosite de orice proiect Tailwind sunt deja incluse. - Pluginuri —
@tailwindcss/typographyși@tailwindcss/formssunt portate complet, iar PHP plugin API vă permite să vă creați propriile pluginuri.
De ce există TailwindPHP
TailwindCSS este scris în TypeScript și rulează pe Node.js. Pentru orice proiect PHP care dorește Tailwind, aceasta este o cerință obligatorie: un al doilea mediu de execuție, o instalare npm și o etapă de compilare în CI și Docker. Pentru multe aplicații PHP, este un efort suplimentar pe care ar prefera să îl evite.
TailwindPHP elimină această problemă. Codul PHP este compilat direct în Tailwind CSS, folosind doar biblioteca standard. Astfel devin posibile câteva lucruri dificile sau imposibile cu lanțul de instrumente JavaScript:
- Cadre de lucru WordPress și PHP — livrați teme și pluginuri bazate pe Tailwind fără să le cereți utilizatorilor să instaleze Node.js sau să ruleze o compilare. Doar
composer requireși gata. Consultați TailwindWP, un plugin exemplu WordPress care generează CSS pentru editorul de blocuri cu TailwindPHP. - CSS în timpul execuției — generați CSS de utilitare dinamic, pe baza intrărilor utilizatorilor, a conținutului bazei de date sau a variabilelor șablonului, în loc să le generați în timpul compilării.
- Implementare mai simplă — fără Node.js în producție, fără pas de compilare în CI și fără npm în imaginea Docker.
Este aceeași idee pe care scssphp a adus-o pentru SCSS — compilatorul complet, în PHP.
Ce face
- Compilează setul de utilitare TailwindCSS v4.3.3, variantele și valorile arbitrare pornind de la numele claselor găsite în conținut.
- Rezolvă toate directivele:
@import(inclusiv module virtuale precumtailwindcssșitailwindcss/utilities, precum și importurireference),@theme,@apply,@utility,@variant,@custom-variant,@layer,@pluginși@source. - Implementează funcțiile CSS Tailwind —
theme(),--theme(),--spacing()și--alpha()— precum și conversiacolor-mix()→oklab()și transformările CSS delegate de TailwindCSS către LightningCSS. - Rezolvă
@importdin sistemul de fișiere, cu importuri imbricate, deduplicare și rezolutoare personalizate, sau din șiruri CSS în linie. - Include Preflight (resetarea de bază a Tailwind), suport pentru prefixe, soluții de rezervă
@property, prefixare specifică furnizorului și extragerea regulilor keyframe. - Include
cn(),merge(),join()șivariants()/compose()pentru construirea numelor claselor, rezolvarea conflictelor și variantele componentelor. - Include pluginurile de tipografie și formulare, precum și un API pentru pluginuri (
addUtilities,matchUtilities,addComponents,addVariant,theme, …) personalizate. - Oferă un CLI (
bin/tailwindphp) cu opțiunile de compilare@tailwindcss/cli, plus memorarea în cache a ieșirii bazate pe fișiere, o memorie cache persistentă pentru starea compilatorului și un minificator CSS pentru producție.
Ce nu este
TailwindPHP este un compilator CSS, nu un lanț de instrumente pentru editor. Exclude în mod intenționat componentele ecosistemului Tailwind destinate IDE-urilor — IntelliSense, completarea automată, sortarea claselor și hărțile sursă — deoarece acestea sunt funcționalități ale editorului, nu fac parte din generarea CSS. Tot ce produce CSS este inclus; tot ce vă echipează editorul nu este.
De unde să începeți
- Getting Started — instalați pachetul și generați prima foaie de stil.
- Usage — scanați conținutul, personalizați tema și folosiți directivele Tailwind.
- Class Utilities —
cn(),merge(),join()șivariants(). - Plugins — tipografie, formulare și crearea propriilor pluginuri.
- API — toate directivele
twși instanțaTailwindCompiler. - CLI —
bin/tailwindphppentru compilări bazate pe fișiere și modul de urmărire. - Advanced — arhitectură, memorare în cache, performanță și note de compatibilitate.