TailwindPHP
TailwindPHP on ohjelman TailwindCSS 4.x 1:1-porttaus kielelle PHP. Se jäsentää CSS-tiedostosi, etsii merkinnöistä luokkien nimet ja luo apuluokka-CSS-tyylit, jotka TailwindCSS v4.3.3 tuottaa — kokonaan PHP-kielellä, ilman Node.js-riippuvuutta tai build-vaihetta.
- Pelkkää PHP-kieltä — toimitetaan Composer-pakettina ja toimii PHP-versiossa 8.2 tai uudemmassa sekä tavallisilla
ctype- jambstring-laajennuksilla. Eiexec-riippuvuutta, FFI:tä eikä natiivia build-työkaluketjua. - Testattu ohjelmaa TailwindCSS vasten — apuluokat, variantit, direktiivit ja CSS-funktiot vastaavat ohjelman TailwindCSS v4.3.3-toimintaa. Tuloste tarkistetaan ohjelman Tailwind omia testijoukkoja vasten: ne on poimittu lähdekoodista TypeScript ja suoritetaan uudelleen jokaisessa pushissa (4,400+ testiä). Tunnetut erot (muutamat sarjoituksen yksityiskohdat, jotka eivät vaikuta kaskadiin, sekä avoimet ongelmat) on lueteltu Yhteensopivuus ja päivitys-sivulla.
- Koko ominaisuusvalikoima — kaikki TailwindCSS v4.3.3-apuluokat (mukaan lukien
container, vierityspalkkien apuluokat,zoom-*jatab-*), kaikki variantit (hover, focus, responsiiviset tyylit, tumma tila, säiliökyselyt ja mielivaltaiset arvot) sekä kaikki direktiivit:@import,@theme,@apply,@utility,@variant,@custom-variant,@layer,@pluginja@source. - Kaikki tarvittava mukana —
cn(),merge(),join()javariants()sisältävät PHP-porttaukset clsxistä, tailwind-merge-kirjaston ja CVA:n, joten kaikki Tailwind-projektissa tarvittavat lisäkirjastot ovat jo valmiina. - Liitännäiset —
@tailwindcss/typographyja@tailwindcss/formson portattu kokonaan, ja PHP-liitännäinen API tarjoaa mahdollisuuden luoda omia liitännäisiä.
Miksi TailwindPHP on olemassa
TailwindCSS on kirjoitettu kielellä TypeScript ja toimii alustalla Node.js. Tämä on ehdoton vaatimus mille tahansa PHP-projektille, joka haluaa käyttää Tailwind-toimintoa: tarvitaan toinen ajonaikainen ympäristö, npm-asennus ja build-vaihe CI:ssä ja Docker-ympäristöissä. Monissa PHP-sovelluksissa se on ylimääräistä vaivaa, jota ei haluta ottaa.
TailwindPHP poistaa tämän tarpeen. Koodisi PHP kääntää Tailwind CSS suoraan käyttäen vain vakiokirjastoa. Se mahdollistaa asioita, jotka ovat JavaScript-työkaluketjulla hankalia tai mahdottomia:
- WordPress- ja PHP-sovelluskehykset — toimita Tailwind-pohjaisia teemoja ja liitännäisiä vaatimatta käyttäjiä asentamaan Node.js-ohjelmaa tai suorittamaan buildia. Suorita vain
composer require, niin olet valmis. Katso TailwindWP, esimerkki-WordPress-liitännäinen, joka luo lohkoeditorin CSS-tyylejä ohjelmalla TailwindPHP. - Ajonaikainen CSS-tyylien luonti — luo apuluokka-CSS-tyylejä lennossa käyttäjän syötteestä, tietokannan sisällöstä tai mallimuuttujista build-vaiheen sijaan.
- Yksinkertaisempi käyttöönotto — tuotantoympäristöön ei tarvita Node.js-ohjelmaa, CI:hin build-vaihetta eikä npm-asennusta Docker-kuvaan.
Sama idea, jonka scssphp toi kielelle SCSS — koko kääntäjä PHP-kielellä.
Mitä se tekee
- Kääntää TailwindCSS v4.3.3 -apuohjelmakokonaisuuden, variantit ja mielivaltaiset arvot sisällöstä löytyvien luokkanimien perusteella.
- Ratkaisee kaikki direktiivit:
@import(mukaan lukien virtuaalimoduulit, kutentailwindcssjatailwindcss/utilities, sekäreference-tuonnit),@theme,@apply,@utility,@variant,@custom-variant,@layer,@pluginja@source. - Toteuttaa Tailwindn CSS-funktiot —
theme(),--theme(),--spacing()ja--alpha()— sekä muunnoksencolor-mix()→oklab()ja CSS-muunnokset, jotka TailwindCSS delegoi LightningCSSlle. - Ratkaisee
@importn tiedostojärjestelmästä sisäkkäisine tuonteineen, kaksoiskappaleiden poistamisineen ja mukautettuine ratkaisijoineen tai upotetuista CSS-merkkijonoista. - Sisältää Preflightin (Tailwindn perusnollauksen), etuliitetuen,
@property-varatoteutukset, toimittajakohtaiset etuliitteet ja avainruutujen nostamisen. - Sisältää
cn()n,merge()n,join()n javariants()/compose()n luokkanimien muodostamiseen, ristiriitojen ratkaisuun ja komponenttivariantteihin. - Sisältää typografia- ja lomakelaajennukset sekä mukautettujen laajennusten API-rajapinnan (
addUtilities,matchUtilities,addComponents,addVariant,theme, …). - Tarjoaa CLIn (
bin/tailwindphp) ja@tailwindcss/clin koontiasetukset sekä tiedostopohjaisen tulosteen välimuistin, pysyvän kääntäjän tilavälimuistin ja tuotantoon tarkoitetun CSS-minimoijan.
Mitä se ei ole
TailwindPHP on CSS-kääntäjä, ei editorityökaluketju. Siitä on tarkoituksella jätetty pois Tailwind-ekosysteemin IDE-ominaisuudet — IntelliSense, automaattinen täydennys, luokkien lajittelu ja lähdekartat — sillä ne ovat editorin ominaisuuksia eivätkä osa CSSn tuottamista. Kaikki CSSn tuottamiseen liittyvä kuuluu tähän; editorisi toimintaan liittyvä ei.
Mistä aloittaa
- Aloitus — asenna paketti ja luo ensimmäinen tyylitiedostosi.
- Käyttö — skannaa sisältöä, mukauta teemaa ja käytä Tailwindn direktiivejä.
- Luokkien apuohjelmat —
cn(),merge(),join()javariants(). - Laajennukset — typografia, lomakkeet ja omien laajennusten kirjoittaminen.
- API — kaikki
tw-direktiivit jaTailwindCompiler-instanssi. - CLI —
bin/tailwindphptiedostopohjaisiin koonteihin ja tarkkailutilaan. - Lisäasetukset — arkkitehtuuri, välimuisti, suorituskyky ja yhteensopivuushuomiot.