Ühilduvus ja versiooniuuendused
See leht koondab teabe, mida on vaja teada enne uuendamist või täpse väljundi eeldamist: käitusaja nõuded, millist TailwindCSS versiooni port järgib, mille poolest TailwindPHP erineb teadlikult versioonist TailwindCSS ning iga versiooni märkused. Täielik ajalugu on failis CHANGELOG.md.
Nõuded
- PHP 8.2 või uuem. Testikomplekt töötab versioonidega PHP 8.2, 8.3 ja 8.4.
- Laiendused
ctypejambstring. Kompilaator kutsub funktsioonectype_*jamb_chr(). Mõlemad on kaasas enamiku PHP järkudega ja ametlike Docker tõmmistega, kuidcomposer.jsonei deklareeri neid veel (#11), nii et ilma nendeta paigaldatakse pakett, kuid see ebaõnnestub käitusajal. - Valikuline:
pcntlvõimaldab CLI--watch-režiimilSIGINT/SIGTERMkorral korrektselt peatuda. Ilma selleta töötab jälgimisrežiim endiselt.
Node.js, FFI-t ega natiivseid binaarfaile ei kasutata.
Millist TailwindCSS versiooni järgitakse
Versioon 1.7.0 järgib versiooni TailwindCSS v4.3.3. Ülesvooluhoidla on fikseeritud giti alamoodulina failis reference/tailwindcss, selle testikomplektid võetakse sellest fikseeritud väljavõttest ning 4,427 teste käitatakse iga tõukega (vt Jõudlus ja testimine). Porditud pluginad järgivad versioone @tailwindcss/typography ja @tailwindcss/forms ning klassiutiliidid clsx-i, tailwind-merge ja CVA-d; kõik on samal viisil fikseeritud.
Teadaolevad erinevused versioonist TailwindCSS
Serialiseerimise üksikasjad
Genereeritud CSS vastab viite testikomplektidele. Mõned serialiseerimise üksikasjad erinevad sellest, mida TailwindCSS CLI väljastab, kuid ükski neist ei muuda kaskaadi:
- Tootjaprefiksid: kui viide väljastab nii autori kirjutatud rea
-webkit-*kui ka genereeritud rea, väljastab TailwindPHP ühe rea. - Alandatud pseudoelementide (
::file-selector-button,::-webkit-datetime-edit-*) algsed selektoriloendid säilivad, selle asemel et jagada need iga pseudoelemendi kohta eraldi reegliks. - Autori kirjutatud ülakomadega stringid jäävad ülakomadega (
'Segoe UI'), selle asemel et neid topeltjutumärkideks normaliseerida. - Koos esinevaid pika vormi omadusi ei ühendata lühivormiks (Tailwind väljund ei vaja seda kunagi).
.p-0säilitabpadding: 0px, samas kui viide CLI väljastabpadding: 0, sest väljavõetud testikorpus fikseerib kuju0px. Minimeerija lühendab selle kujule0.
Pole kaasatud
TailwindPHP on CSS kompilaator. Sellest on välja jäetud Tailwind ökosüsteemi redaktoritööriistad (IntelliSense, automaattäitmine, klasside sortimine) ja lähtekaardid, seega puudub CLI-il valik --map.
Sisu skannimine
tw::generate() ja TailwindCompiler::generate() loevad klassinimesid ainult atribuutidest class ja className. Stringides PHP või JavaScript olevate klassinimede puhul kasutage tw::extractCandidatesFromStrings() või @source inline("…"). @source teevorme API eirab ja CLI arvestab nendega vaid osaliselt (vt allpool).
Praeguse versiooni teadaolevad probleemid
| Valdkond | Praegune käitumine | Probleem |
|---|---|---|
CLI @source |
Teid ja globaalseid mustreid ei rakendata; selle asemel skannitakse sisendfaili kataloogi ning @source not ei jäta midagi välja. Vt Mida CLI skannib |
#8 |
CLI --optimize |
Minimeerib nagu --minify |
#9 |
| CLI pikad suvandid | --input file.css (tühikutega eraldatud) eiratakse; kasutage --input=file.css või -i file.css |
#13 |
| Plugina variandid | addVariant()/matchVariant() variandid ja tüpograafiaelemendi modifikaatorid (prose-headings: …) kompileeritakse ilma selektorita |
#10 |
@apply miksinid |
@apply --my-mixin; jäetakse edastamise asemel välja |
#12 |
| Viite impordid | Väljund on tühi, kui viite import eelneb utiliitide impordile; @import "tailwindcss" reference ei avalda mõju |
#14 |
Uuendamise märkused
1.7.0
- Baididena erinev väljund võrreldes versiooniga 1.6.x, kuid funktsionaalselt võrdväärne viitega TailwindCSS v4.3.3. Nähtavad muudatused hõlmavad järgmist:
- Vahekordajad:
p-1väljastabpadding: var(--spacing), mittecalc(), ning kordaja0väljastab lihtsa nullpikkuse. - Murrud teisendatakse protsentideks:
w-1/2väljastabwidth: 50%. - Värvid:
oklch()/oklab()heledus serialiseeritakse protsendina (oklch(62.3% .214 259.815)),whitejablacklühendatakse kujule#fffja#000. - CSS2 pseudoelemendid serialiseeritakse ühe kooloniga (
:before,:after,:first-letter,:first-line). - Pesastatud
@media/@supports/@containerreeglid tasandatakse oma kohas lähtekoodi järjekorras, selle asemel et tõsta lõppu; deklaratsioonid järjestatakse lightningcss-i reeglite järgi ja varjutatud kordusdeklaratsioonid eemaldatakse.
- Vahekordajad:
- Väljundil põhinevad vahemälud tühjenevad korra.
tw::generate()failivahemälu võti ei sisalda versiooni TailwindPHP, seega käivitage pärast uuendamisttw::clearCache()(või kataloog, mille edastasite kuicache). Kompilaatori oleku vahemälu kehtetuks muutmine toimub automaatselt. - Uus:
@variantautori CSS-is, CSS miksinid@apply-is,@media referenceja@import "…" reference, täielik--value()/--modifier()mootor funktsionaalse@utilityjaoks, rangem@utilitynimede valideerimine ningtw::compile()valikpolyfills.
1.6.1
- Uus: utiliit
container(width: 100%ja iga murdepunkti kohta üksmax-width). - Koos kasutatavad
--tw-*muutujad (translate, scale, rotate, skew, filtrid ja muud) registreeritakse nüüd@property-iga, nii et laaditabelid saavad need@propertyreeglid ja teisendused, näitekstranslate-x-7, rakenduvad brauseris.
1.6.0
- Uus: püsiv kompilaatori oleku vahemälu (
stateCacheFiletw::compile()-is jaTailwindCompiler-is,StateCache\compileCssCached()) ning eraldi funktsioonidparseCssState()/finalizeCssState()/compileParsed(). Olemasolevad väljakutsed toimivad täpselt nagu varem.
1.5.0
TailwindCompileralamklassid, mis kirjutavad ülegenerate()võicss(), peavad lisama valikulise parameetribool $minify = false; PHP lükkab tagasi üledefinitsioonid, millest on vanema valikuline parameeter välja jäetud.- Minimeeritud väljundi loob nüüd serialiseerija, seega erinevad minimeeritud baidid veidi versiooni 1.4.x omadest (minimeeritud väljundi järgi võtmega vahemälud tühjenevad korra).
- Uus:
generateExact()jacssExact()ühe pikaealise kompilaatori abil lehepõhise CSS jaoks.