Hoppa till innehåll

Avancerat

TailwindPHP är en 1:1-portning av TailwindCSS 4.x till ren PHP. Den vägledande principen är trohet: kodbasen speglar det ursprungliga TypeScript-projektet fil för fil – samma filnamn, samma organisation – så att varje beteende i TailwindCSS har en tydlig motsvarighet i PHP och ändringar uppströms kan följas utan gissningar.

Allt som inte ingår i portningen av TailwindCSS finns på ett tydligt avgränsat ställe: src/_tailwindphp/. Den katalogen innehåller hjälpfunktioner som är specifika för PHP – en nyimplementering av transformeringarna för Rust lightningcss (LightningCss.php), minifieraren för CSS (CssMinifier.php) och portningar av kompletterande bibliotek (lib/: clsx, tailwind-merge, CVA) under namnrymden TailwindPHP\Lib\*. Allt annat under src/ motsvarar en fil i TailwindCSS.

Korrektheten verifieras mot Tailwinds egen testsvit. Testfall hämtas direkt från TailwindCSSs .test.ts-filer och körs mot utdata från PHP, så varje avvikelse från det ursprungliga beteendet upptäcks direkt. Resultatet är 4,427 godkända tester (version 1.7.0, mot referensen TailwindCSS v4.3.3) som täcker verktyg, varianter, direktiv, plugin-program, CLI och de kompletterande biblioteken.

Sidor

  • Arkitektur – kompileringsflödet (tolka → skanna → kompilera → optimera → minifiera), källkodens struktur, motsvarigheten i lightningcss och konventionen för @port-deviation-markörer.
  • Cachning och minifiering – den filbaserade utdata-cachen (cache, cacheTtl, clearCache()), kompilatorns tillståndscache (stateCacheFile) och vad minifieraren CSS gör.
  • Prestanda och testning – optimeringar specifika för PHP, hur likvärdighet med TailwindCSS verifieras och kvalitetsgrinden för koden.
  • Kompatibilitet och uppgradering – krav, vilken TailwindCSS-version som följs, kända skillnader från TailwindCSS och uppgraderingsanteckningar för varje version.