Ugrás a tartalomhoz

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 és mbstring bővítménnyel fut. Nincs exec, 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, a zoom-* és a tab-* 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() és variants() 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/forms teljes 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 a tailwindcss és tailwindcss/utilities modulokat, valamint a reference importokat), @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á a color-mix() → oklab() átalakítást és a TailwindCSS által a LightningCSS számára delegált CSS-transzformációkat.
  • Feloldja az @import direktí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 @property tartalékmegoldásait, a böngészőprefixeket és a kulcskocka-definíciók feljebb helyezését.
  • Csomagolja a cn(), merge(), join() és variants()/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/cli fordí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() és variants().
  • Bővítmények — tipográfia, űrlapok és saját bővítmények írása.
  • API — a teljes tw felület és a TailwindCompiler példány.
  • CLI — bin/tailwindphp fá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.