
# Zaawansowane

TailwindPHP to port 1:1 TailwindCSS 4.x do czystego PHP. Nadrzędną zasadą jest wierność: baza kodu odwzorowuje oryginalny projekt TypeScript plik po pliku — te same nazwy plików i ta sama organizacja — dzięki czemu każde zachowanie w TailwindCSS ma oczywisty odpowiednik w PHP, a zmiany upstream można śledzić bez zgadywania.

Wszystko, co nie należy do portu TailwindCSS, znajduje się w jednym wyraźnie oznaczonym miejscu: `src/_tailwindphp/`. Katalog ten zawiera pomocniczy kod specyficzny dla PHP — ponowną implementację transformacji Rust `lightningcss` (`LightningCss.php`), minifikator CSS (`CssMinifier.php`) oraz porty bibliotek towarzyszących (`lib/`: clsx, tailwind-merge, CVA) w przestrzeni nazw `TailwindPHP\Lib\*`. Każdy inny plik w `src/` odpowiada plikowi w TailwindCSS.

Poprawność jest weryfikowana za pomocą własnego zestawu testów Tailwind. Przypadki testowe są wyodrębniane bezpośrednio z plików `.test.ts` należących do TailwindCSS i uruchamiane na wyniku PHP, więc każde odejście od oryginalnego zachowania natychmiast powoduje błąd. W rezultacie testy przechodzą w liczbie 4,427 (wydanie 1.7.0, względem referencji TailwindCSS v4.3.3) i obejmują narzędzia, warianty, dyrektywy, wtyczki, CLI oraz biblioteki towarzyszące.

## Strony

- **[Architektura](https://tailwindphp.inline0.dev/pl/docs/advanced/architecture)** — potok kompilacji (parsowanie → skanowanie → kompilacja → optymalizacja → minifikacja), układ źródeł, odpowiednik `lightningcss` oraz konwencja znaczników `@port-deviation`.
- **[Buforowanie i minifikacja](https://tailwindphp.inline0.dev/pl/docs/advanced/caching)** — plikowa pamięć podręczna wyników (`cache`, `cacheTtl`, `clearCache()`), pamięć podręczna stanu kompilatora (`stateCacheFile`) oraz działanie minifikatora CSS.
- **[Wydajność i testowanie](https://tailwindphp.inline0.dev/pl/docs/advanced/performance)** — optymalizacje specyficzne dla PHP, weryfikacja zgodności z TailwindCSS oraz bramka jakości kodu.
- **[Zgodność i aktualizacja](https://tailwindphp.inline0.dev/pl/docs/advanced/compatibility)** — wymagania, śledzona wersja TailwindCSS, znane różnice względem TailwindCSS i uwagi dotyczące aktualizacji poszczególnych wydań.
