Ga naar de inhoud

Geavanceerd

TailwindPHP is een 1:1-port van TailwindCSS 4.x naar puur PHP. Het uitgangspunt is getrouwheid: de codebase bootst het oorspronkelijke TypeScript-project bestand voor bestand na — met dezelfde bestandsnamen en dezelfde indeling — zodat elk gedrag in TailwindCSS een duidelijke tegenhanger heeft in PHP en wijzigingen upstream zonder giswerk kunnen worden gevolgd.

Alles wat geen deel uitmaakt van de TailwindCSS-port staat op één duidelijk gemarkeerde plek: src/_tailwindphp/. Die map bevat de PHP-specifieke hulpfuncties: een herimplementatie van de Rust lightningcss-transformaties (LightningCss.php), de minifier van CSS (CssMinifier.php) en de companion library-ports (lib/: clsx, tailwind-merge, CVA) onder de TailwindPHP\Lib\*-namespace. Alles wat verder onder src/ staat, komt overeen met een bestand in TailwindCSS.

De juistheid wordt gecontroleerd met de eigen testsuite van Tailwind. Testgevallen worden rechtstreeks uit de TailwindCSS-bestanden van .test.ts gehaald en uitgevoerd tegen de uitvoer van PHP, zodat elke afwijking van het oorspronkelijke gedrag meteen tot een fout leidt. Het resultaat: 4,427 tests slagen (release 1.7.0, tegen TailwindCSS v4.3.3), voor hulpfuncties, varianten, richtlijnen, plugins, de CLI en de companion libraries.

Pagina's

  • Architectuur — de compilatiepipeline (parsen → scannen → compileren → optimaliseren → minificeren), de broncode-indeling, het equivalent van lightningcss en de conventie voor @port-deviation-markeringen.
  • Caching en minificatie — de bestandsgebaseerde uitvoercache (cache, cacheTtl, clearCache()), de cache voor de compilerstatus (stateCacheFile) en wat de minifier van CSS doet.
  • Prestaties en tests — optimalisaties specifiek voor PHP, hoe de overeenkomst met TailwindCSS wordt gecontroleerd en de poort voor codekwaliteit.
  • Compatibiliteit en upgrades — vereisten, de bijgehouden versie van TailwindCSS, bekende verschillen met TailwindCSS en upgrade-opmerkingen per release.