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 — potok kompilacji (parsowanie → skanowanie → kompilacja → optymalizacja → minifikacja), układ źródeł, odpowiednik
lightningcssoraz konwencja znaczników@port-deviation. - Buforowanie i minifikacja — plikowa pamięć podręczna wyników (
cache,cacheTtl,clearCache()), pamięć podręczna stanu kompilatora (stateCacheFile) oraz działanie minifikatora CSS. - Wydajność i testowanie — optymalizacje specyficzne dla PHP, weryfikacja zgodności z TailwindCSS oraz bramka jakości kodu.
- Zgodność i aktualizacja — wymagania, śledzona wersja TailwindCSS, znane różnice względem TailwindCSS i uwagi dotyczące aktualizacji poszczególnych wydań.