Preskoči na vsebino

Napredno

TailwindPHP je prenos TailwindCSS 4.x v čisti PHP, napisan v 1:1. Vodilno načelo je zvestoba: zbirka kode zrcali izvirni projekt TypeScript datoteko za datoteko — z enakimi imeni datotek in enako organizacijo — tako da ima vsako vedenje v TailwindCSS očitno ustrezno mesto v PHP, spremembam v izvirnem projektu pa je mogoče slediti brez ugibanja.

Vse, kar ni del prenosa TailwindCSS, je na enem jasno označenem mestu: src/_tailwindphp/. V tem imeniku so pomočniki, specifični za PHP — ponovna izvedba transformacij Rust lightningcss (LightningCss.php), minifikator CSS (CssMinifier.php) in prenesene spremljevalne knjižnice (lib/: clsx, tailwind-merge, CVA) v imenskem prostoru TailwindPHP\Lib\*. Vse drugo v src/ ustreza datoteki v TailwindCSS.

Pravilnost se preverja z lastno zbirko testov Tailwind. Testni primeri so neposredno izluščeni iz datotek .test.ts, ki pripadajo TailwindCSS, in izvedeni z izhodom PHP, zato vsako odstopanje od izvirnega vedenja takoj povzroči neuspeh. Rezultat je 4,427 uspešno opravljenih testov (izdaja 1.7.0, z referenco TailwindCSS v4.3.3), ki pokrivajo pripomočke, različice, direktive, vtičnike, CLI in spremljevalne knjižnice.

Strani

  • Arhitektura — pot prevajanja (razčlenitev → pregled → prevajanje → optimizacija → minifikacija), razporeditev izvornih datotek, enakovredna različica lightningcss in dogovor o označevanju @port-deviation.
  • Predpomnjenje in minifikacija — datotečni predpomnilnik izhoda (cache, cacheTtl, clearCache()), predpomnilnik stanja prevajalnika (stateCacheFile) in delovanje minifikatorja CSS.
  • Zmogljivost in testiranje — optimizacije, specifične za PHP, preverjanje enakovrednosti z TailwindCSS in vrata za kakovost kode.
  • Združljivost in nadgradnja — zahteve, sledena različica TailwindCSS, znane razlike od TailwindCSS in opombe ob nadgradnji za vsako izdajo.