TailwindPHP
TailwindCSS 4.x port PHP-i jaoks. Loo Tailwind utiliidi CSS puhtas PHP-is, ilma Node.js-ta ja koostamisetapita. Sisaldab cn(), tailwind-merge, CVA-d, tüpograafia- ja vormipluginaid ning CLI.
composer require tailwindphp/tailwindphpViimane väljalase v1.7.0 MIT PHP 8.2+
use function TailwindPHP\merge;
merge('px-2 py-1 bg-red-500', 'px-4 bg-blue-500');
// => 'py-1 px-4 bg-blue-500'
// Conflict resolution is variant-aware
merge('hover:bg-red-500', 'hover:bg-blue-500');
// => 'hover:bg-blue-500'Praktikas
Edastage märgendus ja valikuline sisend CSS ühe PHP-väljakutsega ning saate laaditabeli.
Genereeri CSS väärtusest PHP
tw::generate() skannib märgendusest klassinimed ja tagastab ainult nende klasside jaoks vajalikud CSS. Teise argumendiga saab anda sisendi CSS, nii et väärtuses @theme määratletud värvist saab utiliit.
cn() koostab klassistringid ja lahendab Tailwind konfliktid, nii et viimane konfliktne utiliit jääb kehtima.
use TailwindPHP\tw;
$css = tw::generate(
'<div class="bg-brand p-4">Hello</div>',
'@import "tailwindcss"; @theme { --color-brand: #3b82f6; }'
);
// .bg-brand now resolves to var(--color-brand)use function TailwindPHP\cn;
cn('px-2 py-1', 'px-4'); // 'py-1 px-4'
cn('btn', ['btn-primary' => true]); // 'btn btn-primary'Ainult PHP
Ei vaja Node.js ega ehitusetappi. Töötab PHP versiooniga 8.2+ ning standardsete mbstring- ja ctype-laiendustega. Käivitage composer require ja alustage.
Järgib versiooni TailwindCSS v4.3.3
Tailwind v4.3.3 port samade utiliitide, variantide ja direktiividega. Teadaolevad erinevused võrreldes versiooniga Tailwind on dokumenteeritud.
4,400+ testi
Väljundit kontrollitakse TailwindCSS enda testikomplektidega, mis eraldatakse lähtekoodist TypeScript ja käivitatakse igal tõukamisel uuesti.
Kõik utiliidid ja variandid
Täielik utiliitide komplekt ja kõik variandid: hover, focus, kohanduv kujundus, tume režiim, konteineripäringud ja suvalised väärtused.
CSS direktiivid
@import, @theme, @apply, @utility, @custom-variant, @layer, @plugin ja @source parsitakse ning lahendatakse PHP-is.
Käitusajal genereerimine
Genereerige utiliidi CSS käigu pealt väärtusest HTML, andmebaasi sisust või mallimuutujatest. Ehitusetappi pole vaja.
Kõik vajalik kaasas
cn(), merge(), join() ja variants(): clsx, tailwind-merge ja CVA on porditud versiooni PHP jaoks, lisapakette pole vaja.
Pluginad
@tailwindcss/typography ja @tailwindcss/forms on porditud versiooni PHP jaoks, lisaks PHP-plugin API oma utiliitide ja komponentide loomiseks.
CLI
bin/tailwindphp koostab sisendfailist CSS laaditabeli suvanditega -i, -o, --watch ja --minify.
Tutvuge teemaga
Lugege otse PHP-ist mis tahes klassi atribuudi alg- ja arvutatud väärtusi, värve, murdepunkte ning vahesid.
Vahemälu ja minimeerija
Sisseehitatud CSS minimeerija ja TTL-iga failivahemälu hoiavad korduvad ehitused kiired ning väljundi väiksena.
WordPress ja PHP raamistikud
Tarnige Tailwind-põhiseid teemasid ja pluginaid ilma Node.js-ita tehnoloogiapakis. TailwindPHP on üksainus sõltuvus kujul Composer.
Miks TailwindPHP
Tootmiskeskkonnas üks käituskeskkond
PHP projekt, mis võtab kasutusele Tailwind, vajab tavaliselt ka Node.js-i, npm-i paigaldust ning ehitusetappi CI-s ja Docker-is. Selle asemel kompileerib TailwindPHP CSS PHP protsessis.
CSS käitusajal teadaoleva sisu jaoks
Andmebaasist, kasutaja sisestusest või mallimuutujast pärit märgenduse saab edastada otse tw::generate()-ile, mis tagastab ainult klasside jaoks vajalikud CSS.
Kontrollitud fikseeritud Tailwind väljalaske vastu
Testjuhtumid eraldatakse hoidlas fikseeritud versiooniga lähtekoodist Tailwind ning käivitatakse PHP väljundi vastu, nii et lahknevused peatavad CI. Väljalaset 1.7.0 kontrolliti versiooni Tailwind v4.3.3 vastu 4,427 testiga.
Lehepõhine CSS ühe kompilaatoriga
Kompileerige teema üks kord käsuga tw::compile() ja kutsuge seejärel iga lehe jaoks välja generateExact(). Iga kutse tagastab tulemuse, mille annaks selle lehe külm tw::generate(), ilma et teemat uuesti parsitaks.
Võrdlus
Tailwind Labs tarnib Tailwind CSS loomiseks oma lahendusi. Nii erineb TailwindPHP.
| Tööriist | Sobib hästi | Erinevus võrreldes TailwindPHP-ga |
|---|---|---|
| Tailwind CLI (@tailwindcss/cli) | Sobib hästiTailwind enda käsureatööriist, mis paigaldatakse paketist npm. See skannib teie HTML-faile, komponente ja malle klassinimede leidmiseks ning kirjutab neile vastavad laadireeglid staatilisse CSS-faili. | Erinevus võrreldes TailwindPHP-gaTailwindPHP kompileerib PHP sees ilma Node.js-i ega npm-i paigaldamata. See järgib kindlat Tailwind väljalaset (v4.3.3 versioonis 1.7.0) ning selle enda võrdlustest näitab, et TypeScript algne versioon teeb madala taseme toiminguid kiiremini. |
| Tailwind eraldiseisev CLI | Sobib hästiTailwind CLI eraldiseisva käivitatava failina projektidele, mis soovivad seda kasutada ilma Node.js-i paigaldamata. | Erinevus võrreldes TailwindPHP-gaKäivitatav fail on eraldi binaarfail, mis töötab ehitusetapina. TailwindPHP on Composer-pakett, mida teie PHP kood kutsub; seega saab see genereerida CSS ka päringu ajal andmebaasi sisust või mallimuutujatest. |
| Tailwind Play CDN | Sobib hästiSkriptimärgendus käivitab brauseris Tailwind-i, et seda ilma ehitusetapita proovida. Tailwind dokumentatsiooni kohaselt on see mõeldud arenduseks, mitte kasutamiseks tootmiskeskkonnas. | Erinevus võrreldes TailwindPHP-gaKa TailwindPHP ei vaja ehitusetappi, kuid genereerib serveris väärtuse CSS versioonis PHP ja tagastab selle stringina, näiteks laaditabelisse kirjutamiseks. |
Küsimused ja vastused
Lühikesed vastused TailwindPHP dokumentatsioonist.
Väljalase 1.7.0 järgib versiooni Tailwind CSS v4.3.3. Selle testikomplektid eraldati selle versiooni põhjal uuesti.
Väljundit testitakse juhtumitega, mis on eraldatud versiooni Tailwind enda testifailidest. Versiooni 1.7.0 muudatuste logis on kirjas mõned serialiseerimise erinevused: näiteks .p-0 säilitab padding: 0px, samas kui võrdluseks kasutatav CLI annab tulemuseks padding: 0.
Ei. Pluginad on PHP: tüpograafia- ja vormipluginad on porditud ning saate kirjutada oma pluginaid PHP pluginaliidese API jaoks ja registreerida need käsuga registerPlugin(). Registreerimata @plugin nimi põhjustab vea.
Projekti võrdlustestis riistvaral PHP 8.4.5 ja protsessoriga Apple M1 võttis terve lehe genereerimine ligikaudu 14 ms lehe kohta. Korduva sisendi korral jätab failivahemälu kompileerimise vahele ning pikaealine kompilaator koos valikuga generateExact() kasutab parsitud teemat uuesti.
Ei. IntelliSense, automaattäitmine, klasside järjestamine ja lähtekaardid on teadlikult välja jäetud. TailwindPHP genereerib ainult CSS.
PHP versioon 8.2 või uuem koos ctype- ja mbstring-laiendustega. composer.json määrab versiooni PHP ning CI-s käivitatakse testikomplekt versioonidega PHP 8.2, 8.3 ja 8.4.
Paigaldage pakett käsuga Composer ja järgige alustamisjuhendit, et luua oma esimene laaditabel väärtusest PHP.