Yhteensopivuus ja päivitys
Tälle sivulle on koottu tiedot, jotka on hyvä tietää ennen päivitystä tai tarkkaa tulostetta edellyttävää käyttöä: ajoaikavaatimukset, mitä TailwindCSS-julkaisua siirros seuraa, miten TailwindPHP eroaa tietoisesti TailwindCSS-alkuperäisversiosta sekä julkaisukohtaiset huomautukset. Koko historia on kohteessa CHANGELOG.md.
Vaatimukset
- PHP 8.2 tai uudempi. Testisarja toimii versioilla PHP 8.2, 8.3 ja 8.4.
ctype- jambstring-laajennukset. Kääntäjä kutsuu toimintojactype_*jamb_chr(). Molemmat toimitetaan useimpien PHP-koontien ja virallisten Docker-näköistiedostojen mukana, muttacomposer.jsonei vielä ilmoita niitä (#11), joten ilman niitä koonti asentaa paketin mutta epäonnistuu suorituksen aikana.- Valinnainen:
pcntlmahdollistaa sen, että CLI-toiminnon--watch-tila pysähtyy siististi tapahtumissaSIGINT/SIGTERM. Ilman sitä seurantatila toimii silti.
Node.js-laajennusta, FFI:tä tai natiivibinäärejä ei tarvita.
Mitä TailwindCSS-julkaisua seurataan
Julkaisun 1.7.0 seuranta kattaa TailwindCSS v4.3.3. Upstream-repositorio on kiinnitetty reference/tailwindcss-hakemistoon git-alirepositoriona, sen testisarjat on poimittu tästä kiinnitetystä työkopiosta, ja 4,427-testit suoritetaan jokaisen pushin yhteydessä (katso Suorituskyky ja testaus). Siirretyt lisäosat noudattavat @tailwindcss/typography- ja @tailwindcss/forms-kirjastojen käytäntöjä, ja luokkien apuohjelmat seuraavat clsx-, tailwind-merge- ja CVA-kirjastoja, jotka kaikki on kiinnitetty samalla tavalla.
Tunnetut erot tuotteeseen TailwindCSS verrattuna
Sarjallistuksen yksityiskohdat
Luotu CSS vastaa viitetestisarjoja. Muutamat sarjallistuksen yksityiskohdat eroavat siitä, mitä TailwindCSS CLI tuottaa, mutta ne eivät muuta kaskadia:
- Valmistajakohtaiset etuliitteet: jos viite tuottaa sekä kirjoitetun
-webkit-*-rivin että luodun rivin, TailwindPHP tuottaa yhden rivin. - Vanhempaa syntaksia käyttävät pseudoelementit (
::file-selector-button,::-webkit-datetime-edit-*) pysyvät kirjoitetuissa valitsinluetteloissaan sen sijaan, että ne jaettaisiin omiksi säännöikseen. - Kirjoitetut yksinkertaiset lainausmerkkijonot säilyvät yksinkertaisina lainausmerkkeinä (
'Segoe UI') sen sijaan, että ne muutettaisiin kaksoislainausmerkeiksi. - Samanaikaisesti esiintyviä pitkämuotoisia ominaisuuksia ei yhdistetä lyhytmuotoiseksi ominaisuudeksi (Tailwind-tulosteessa siihen ei ole tarvetta).
.p-0säilyttääpadding: 0px-muodon, kun taas viite CLI tuottaapadding: 0-muodon, koska poimitussa testikorpuksessa käytetään0px-muotoa. Minimoija lyhentää sen muotoon0.
Ei sisälly
TailwindPHP on CSS-kääntäjä. Siitä puuttuvat Tailwind-ekosysteemin editorityökalut (IntelliSense, automaattinen täydennys ja luokkien lajittelu) sekä lähdekartat, joten CLI-komennolla ei ole --map-valintaa.
Sisällön skannaus
tw::generate() ja TailwindCompiler::generate() lukevat luokkanimet vain kohteiden class ja className attribuuteista. Jos luokkanimet ovat merkkijonoissa PHP tai JavaScript, käytä tw::extractCandidatesFromStrings() tai @source inline("…"). Kohteen @source polkumuodot ohitetaan kohteessa API, ja CLI huomioi ne vain osittain (katso alta).
Nykyisen julkaisun tunnetut ongelmat
| Alue | Nykyinen toiminta | Ongelma |
|---|---|---|
CLI @source |
Polkuja ja yleismerkkejä ei käytetä, vaan skannataan syötetiedoston hakemisto. Lisäksi @source not ei sulje pois mitään. Katso Mitä CLI skannaa |
#8 |
CLI --optimize |
Minimoi kuten --minify |
#9 |
| CLI-pitkät valinnat | --input file.css (välilyönneillä eroteltu) ohitetaan; käytä --input=file.css- tai -i file.css-muotoa |
#13 |
| Laajennusmuunnelmat | addVariant()/matchVariant()-muunnelmat ja typografian elementtimääritteet (prose-headings: …) kääntyvät ilman valitsintaan |
#10 |
@apply-mixin-määritykset |
@apply --my-mixin; poistetaan sen sijaan, että se välitettäisiin eteenpäin |
#12 |
| Viitetuonnit | Tuloste on tyhjä, kun viitetuonti on työkaluohjelmien tuontia ennen; @import "tailwindcss" reference ei vaikuta |
#14 |
Päivityshuomiot
1.7.0
- Tavukohtaisesti muuttuva tuloste verrattuna versioon 1.6.x, vaikka se on toiminnallisesti vastaava kuin TailwindCSS v4.3.3-viite. Näkyviä muutoksia ovat muun muassa:
- Välimatkakertoimet:
p-1tuottaapadding: var(--spacing)-arvoncalc()-arvon sijaan, ja kertoimella0saadaan pelkkä nollapituus. - Murtoluvut muunnetaan prosenteiksi:
w-1/2tuottaawidth: 50%. - Värit:
oklch()/oklab()-vaaleus sarjallistetaan prosenttina (oklch(62.3% .214 259.815)), jawhitejablacklyhenevät muotoihin#fffja#000. - CSS2-pseudoelementit sarjallistetaan kaksoispisteen sijaan yhdellä kaksoispisteellä (
:before,:after,:first-letter,:first-line). - Sisäkkäiset
@media-,@supports- ja@container-säännöt litistetään paikoilleen lähdejärjestyksessä sen sijaan, että ne siirrettäisiin loppuun. Määritykset järjestetään uudelleen lightningcssin mukaisesti, ja peittyvät päällekkäiset määritykset poistetaan.
- Välimatkakertoimet:
- Tulosteeseen sidotut välimuistit tyhjenevät kerran. Kohteen
tw::generate()tiedostovälimuisti ei sisällytä avaimensa TailwindPHP-versiota, joten suorita päivityksen jälkeentw::clearCache()(tai hakemisto, jonka välitit muodossacache). Kääntäjän tilavälimuisti mitätöi itsensä. - Uutta:
@varianttekijän CSS-määrityksissä, CSS-mixin-määritykset kohteessa@apply,@media referenceja@import "…" reference, koko--value()/--modifier()-moottori toiminnallisille@utility-arvoille, tiukempi@utility-nimien tarkistus ja kohteentw::compile()polyfills-valinta.
1.6.1
- Uutta:
container-apuohjelma (width: 100%sekä yksimax-widthkutakin taitekohtaa kohti). - Yhdistetyt
--tw-*-muuttujat (siirto, skaalaus, kierto, vinous, suodattimet ja muut) rekisteröidään nyt kohteessa@property, joten tyylitiedostoihin lisätään kyseiset@property-säännöt ja esimerkiksitranslate-x-7-muunnokset toimivat selaimessa.
1.6.0
- Uutta: pysyvä kääntäjän tilavälimuisti (
stateCacheFilekohteissatw::compile()jaTailwindCompiler,StateCache\compileCssCached()) sekä jaetutparseCssState()-,finalizeCssState()- jacompileParsed()-funktiot. Olemassa olevat kutsut toimivat täsmälleen kuten ennen.
1.5.0
- Kohteen
TailwindCompileraliluokkien, jotka korvaavatgenerate()- taicss()-toiminnon, on lisättävä valinnainenbool $minify = false-parametri. PHP hylkää ohitukset, jotka jättävät pois yliluokan valinnaisen parametrin. - Minimoitu tuloste tulee sarjallistajalta, joten tavut eroavat hieman tuotteesta 1.4.x (minimoituun tulosteeseen sidotut välimuistit tyhjenevät kerran).
- Uutta:
generateExact()jacssExact()mahdollistavat sivukohtaiset CSS-arvot yhdellä pitkään käytössä olevalla kääntäjällä.