Preskoči na vsebino

TailwindPHP

TailwindPHP je 1:1 prenos TailwindCSS 4.x v PHP. Razčleni vaš CSS, v označevalnem jeziku poišče imena razredov in ustvari uporabne pripomočke CSS, ki jih ustvari TailwindCSS v4.3.3 — v celoti v PHP, brez Node.js in koraka gradnje.

  • Čisti PHP — na voljo je kot paket Composer in deluje v PHP 8.2+ s standardnima razširitvama ctype in mbstring. Brez exec, FFI ali izvornih orodij za gradnjo.
  • Preverjeno glede na TailwindCSS — pripomočki, različice, direktive in funkcije CSS sledijo TailwindCSS v4.3.3. Izhod je preverjen z lastnimi testnimi zbirkami Tailwind, pridobljenimi iz izvorne kode TypeScript in znova izvedenimi ob vsakem potisku (4,400+ testov). Znane razlike (nekaj podrobnosti serializacije brez vpliva na kaskado in odprte težave) so navedene v razdelku Združljivost in nadgradnja.
  • Celoten nabor funkcij — celoten nabor pripomočkov TailwindCSS v4.3.3 (vključno z container, pripomočki za drsnik, zoom-* in tab-*), vse različice (ob prehodu miške, ob fokusu, odzivne, temni način, poizvedbe vsebnika in poljubne vrednosti) ter vse direktive: @import, @theme, @apply, @utility, @variant, @custom-variant, @layer, @plugin in @source.
  • Vse vključeno — cn(), merge(), join() in variants() vključujejo prenose PHP knjižnic clsx, tailwind-merge in CVA, zato so spremljevalne knjižnice, ki jih potrebuje vsak projekt Tailwind, že vključene.
  • Vtičniki — @tailwindcss/typography in @tailwindcss/forms sta prenesena v celoti, vtičnik PHP API pa vam omogoča ustvarjanje lastnih.

Zakaj obstaja TailwindPHP

TailwindCSS je napisan v TypeScript in deluje v Node.js. To je neizogibna zahteva za vsak projekt PHP, ki želi uporabljati Tailwind: potrebuje drugo izvajalno okolje, namestitev npm in korak gradnje v CI ter Docker. Za številne aplikacije PHP je to nepotrebna ovira.

TailwindPHP to odpravi. Vaša koda PHP se prevede neposredno v Tailwind CSS, pri čemer uporablja samo standardno knjižnico. Tako postanejo izvedljive nekatere stvari, ki so z orodji JavaScript nerodne ali nemogoče:

  • Ogrodja WordPress in PHP — objavite teme in vtičnike, ki uporabljajo Tailwind, ne da bi morali uporabniki namestiti Node.js ali zagnati gradnjo. Samo composer require in že deluje. Oglejte si TailwindWP, primer vtičnika WordPress, ki z TailwindPHP ustvarja CSS za urejevalnik blokov.
  • Ustvarjanje CSS med izvajanjem — uporabne CSS ustvarjajte sproti iz uporabniškega vnosa, vsebine zbirke podatkov ali spremenljivk predloge, namesto med gradnjo.
  • Preprostejša uvedba — v produkcijskem okolju ni Node.js, v CI ni koraka gradnje, v sliki Docker pa ni npm.

Gre za enako zamisel, kot jo je scssphp prinesel v SCSS — celoten prevajalnik v PHP.

Kaj omogoča

  • Prevede nabor pripomočkov TailwindCSS v4.3.3, različice in poljubne vrednosti iz imen razredov v vaši vsebini.
  • Razreši vse direktive: @import (vključno z navideznimi moduli, kot sta tailwindcss in tailwindcss/utilities, ter uvozi reference), @theme, @apply, @utility, @variant, @custom-variant, @layer, @plugin in @source.
  • Izvaja funkcije CSS v Tailwind: theme(), --theme(), --spacing() in --alpha(); vključuje tudi pretvorbo color-mix() → oklab() ter transformacije CSS, ki jih prepušča LightningCSS prek TailwindCSS.
  • Razreši @import iz datotečnega sistema z ugnezdenimi uvozi, odstranjevanjem dvojnikov in razreševalniki po meri ali iz nizov CSS.
  • Vključuje Preflight (osnovno ponastavitev Tailwind), podporo za predpone, nadomestne vrednosti @property, dodajanje predpon proizvajalcev in premik ključnih sličic na višjo raven.
  • Združuje cn(), merge(), join() in variants()/compose() za sestavljanje imen razredov, razreševanje sporov in različice komponent.
  • Vključuje vtičnika za tipografijo in obrazce ter vtičnik API (addUtilities, matchUtilities, addComponents, addVariant, theme, …) za vtičnike po meri.
  • Ponuja CLI (bin/tailwindphp) z možnostmi gradnje @tailwindcss/cli ter predpomnjenje izhoda na podlagi datotek, trajni predpomnilnik stanja prevajalnika in pomanjševalnik CSS za produkcijo.

Kaj ni

TailwindPHP je prevajalnik CSS, ne orodje za urejevalnike. Namenoma ne vključuje delov ekosistema Tailwind, namenjenih IDE-jem — IntelliSense, samodokončanja, razvrščanja razredov in izvornih zemljevidov — ker so to funkcije urejevalnika, ne del ustvarjanja CSS. Vse, kar ustvarja CSS, je vključeno; vse, kar poganja vaš urejevalnik, pa ne.

Kje začeti

  • Uvod — namestite paket in ustvarite svojo prvo slogovno datoteko.
  • Uporaba — preglejte vsebino, prilagodite temo in uporabite direktive Tailwind.
  • Pripomočki razredov — cn(), merge(), join() in variants().
  • Vtičniki — tipografija, obrazci in ustvarjanje lastnih vtičnikov.
  • API — celoten nabor tw in primerek TailwindCompiler.
  • CLI — bin/tailwindphp za gradnje na podlagi datotek in način spremljanja.
  • Napredno — arhitektura, predpomnjenje, zmogljivost in opombe o združljivosti.