
# 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](https://tailwindphp.inline0.dev/sv/docs/advanced/architecture)** – kompileringsflödet (tolka → skanna → kompilera → optimera → minifiera), källkodens struktur, motsvarigheten i `lightningcss` och konventionen för `@port-deviation`-markörer.
- **[Cachning och minifiering](https://tailwindphp.inline0.dev/sv/docs/advanced/caching)** – den filbaserade utdata-cachen (`cache`, `cacheTtl`, `clearCache()`), kompilatorns tillståndscache (`stateCacheFile`) och vad minifieraren CSS gör.
- **[Prestanda och testning](https://tailwindphp.inline0.dev/sv/docs/advanced/performance)** – optimeringar specifika för PHP, hur likvärdighet med TailwindCSS verifieras och kvalitetsgrinden för koden.
- **[Kompatibilitet och uppgradering](https://tailwindphp.inline0.dev/sv/docs/advanced/compatibility)** – krav, vilken TailwindCSS-version som följs, kända skillnader från TailwindCSS och uppgraderingsanteckningar för varje version.
