TailwindPHP
A TailwindPHP a TailwindCSS 4.x 1:1 portja PHP nyelvre. Feldolgozza a CSS fájlt, megkeresi a jelölőnyelvben az osztályneveket, és előállítja azokat a segédosztályokat tartalmazó CSS értéket, amelyet a TailwindCSS v4.3.3 is létrehoz — mindezt PHP környezetben, Node.js és összeállítási lépés nélkül.
- Tiszta PHP — Composer csomagként érhető el, és PHP 8.2 vagy újabb verzióján, a szabványos
ctypeésmbstringbővítménnyel fut. Nincsexec, FFI vagy natív összeállítóeszköz. - Ellenőrzés a TailwindCSS alapján — a segédosztályok, változatok, direktívák és CSS függvények a TailwindCSS v4.3.3 változásait követik. A kimenetet a Tailwind saját tesztcsomagjaival ellenőrizzük, amelyeket a TypeScript forrásból nyertünk ki, és minden feltöltéskor újra lefuttatunk (4,400+ teszt). Az ismert eltérések (néhány, a kaszkádra hatást nem gyakorló szerializálási részlet és a nyitott hibajegyek) a Kompatibilitás és frissítés oldalon szerepelnek.
- Teljes funkcionalitás — a teljes TailwindCSS v4.3.3 segédosztálykészlet (beleértve a
container, a görgetősáv-segédosztályokat, azoom-*és atab-*elemet), minden változat (rámutatás, fókusz, reszponzív megjelenés, sötét mód, tárolólekérdezések, tetszőleges értékek), valamint a teljes direktívakészlet:@import,@theme,@apply,@utility,@variant,@custom-variant,@layer,@pluginés@source. - Minden egyben — a
cn(),merge(),join()ésvariants()a clsx, a tailwind-merge és a CVA PHP portját tartalmazza, így minden Tailwind projekt számára készen állnak a szükséges kiegészítő könyvtárak. - Bővítmények — a
@tailwindcss/typographyés a@tailwindcss/formsteljes portként érhető el, saját bővítmény készítéséhez pedig rendelkezésre áll a PHP bővítmény API.
Miért jött létre a TailwindPHP?
A TailwindCSS TypeScript nyelven íródott, és Node.js környezetben fut. Ez elengedhetetlen minden olyan PHP projekthez, amely Tailwind használatát tervezi: ehhez külön futtatókörnyezet, npm-telepítés és összeállítási lépés szükséges a CI-ben és a Docker környezetben. Sok PHP alkalmazásnál ez szükségtelen többletmunka.
A TailwindPHP megszünteti ezt a többletet. A PHP kód közvetlenül Tailwind CSS fordítható, kizárólag a szabványos könyvtárral. Ez olyan lehetőségeket nyit meg, amelyek a JavaScript eszközlánccal nehézkesek vagy megvalósíthatatlanok:
- WordPress és PHP keretrendszerek — szállítson Tailwind-alapú témákat és bővítményeket anélkül, hogy a felhasználóknak telepíteniük kellene a Node.js eszközt vagy összeállítást kellene futtatniuk. Csak
composer require, és már használható is. Lásd a TailwindWP példát: ez egy WordPress bővítmény, amely TailwindPHP segítségével generál CSS értékeket a blokkszerkesztőhöz. - Futásidejű CSS — segédosztályokat tartalmazó CSS értékeket állíthat elő menet közben, felhasználói bemenetből, adatbázis-tartalomból vagy sablonváltozókból, nem csak összeállításkor.
- Egyszerűbb telepítés — nincs Node.js az éles környezetben, nincs összeállítási lépés a CI-ben, és nincs npm a Docker képben.
Ugyanazt az ötletet valósítja meg, amelyet az scssphp honosított meg SCSS környezetben — a teljes fordítót PHP nyelven.
Mit tud
- A tartalmadban talált osztálynevekből lefordítja a TailwindCSS v4.3.3 segédosztályait, variánsait és tetszőleges értékeit.
- Feldolgozza az összes direktívát:
@import(beleértve a virtuális modulokat, például atailwindcsséstailwindcss/utilitiesmodulokat, valamint areferenceimportokat),@theme,@apply,@utility,@variant,@custom-variant,@layer,@pluginés@source. - Megvalósítja a Tailwind által biztosított CSS-függvényeket —
theme(),--theme(),--spacing()és--alpha()—, továbbá acolor-mix()→oklab()átalakítást és a TailwindCSS által a LightningCSS számára delegált CSS-transzformációkat. - Feloldja az
@importdirektívát a fájlrendszerből, beágyazott importokkal, deduplikálással és saját feloldókkal, vagy beágyazott CSS-karakterláncokból. - Tartalmazza a Preflight alapstílus-visszaállítást a Tailwind rendszeréből, a prefixek támogatását, a
@propertytartalékmegoldásait, a böngészőprefixeket és a kulcskocka-definíciók feljebb helyezését. - Csomagolja a
cn(),merge(),join()ésvariants()/compose()függvényeket osztálynevek összeállításához, konfliktusok feloldásához és komponensvariánsokhoz. - Tartalmazza a tipográfiai és űrlapbővítményeket, valamint egy bővítmény-API-t (
addUtilities,matchUtilities,addComponents,addVariant,theme, …) saját bővítményekhez. - CLI-t (
bin/tailwindphp) biztosít az@tailwindcss/clifordítási opcióival, fájlalapú kimeneti gyorsítótárral, tartós fordítóállapot-gyorsítótárral és éles környezetre szánt CSS-minimalizálóval.
Ami nem tartozik ide
A TailwindPHP egy CSS fordító, nem szerkesztői eszközkészlet. Szándékosan kihagyja a Tailwind ökoszisztéma IDE-khez kapcsolódó elemeit — a IntelliSense-t, az automatikus kiegészítést, az osztályok rendezését és a forrástérképeket —, mert ezek szerkesztői funkciók, nem tartoznak a CSS generálásához. Minden, ami CSS-t állít elő, a hatókörébe tartozik; a szerkesztőt kiszolgáló funkciók nem.
Hol érdemes kezdeni
- Kezdő lépések — telepítse a csomagot, és hozza létre az első stíluslapját.
- Használat — vizsgálja át a tartalmat, szabja testre a témát, és használja a Tailwind direktíváit.
- Osztálysegédletek —
cn(),merge(),join()ésvariants(). - Bővítmények — tipográfia, űrlapok és saját bővítmények írása.
- API — a teljes
twfelület és aTailwindCompilerpéldány. - CLI —
bin/tailwindphpfájlalapú összeállításokhoz és figyelő módhoz. - Haladó témák — architektúra, gyorsítótárazás, teljesítmény és kompatibilitási megjegyzések.