Zum Inhalt springen

Erweitert

TailwindPHP ist eine 1:1-Portierung von TailwindCSS 4.x in reinem PHP. Das Leitprinzip ist originalgetreue Umsetzung: Die Codebasis bildet das ursprüngliche TypeScript-Projekt Datei für Datei nach – mit denselben Dateinamen und derselben Struktur. So lässt sich jedes Verhalten von TailwindCSS eindeutig in PHP zuordnen und Änderungen am Upstream ohne Rätselraten nachvollziehen.

Alles, was nicht zum TailwindCSS-Port gehört, liegt an einem klar gekennzeichneten Ort: src/_tailwindphp/. Dieses Verzeichnis enthält die spezifischen Helfer für PHP — eine Neuimplementierung der Rust-Transformationen lightningcss (LightningCss.php), den CSS-Minifier (CssMinifier.php) und die Portierungen der Begleitbibliotheken (lib/: clsx, tailwind-merge, CVA) im Namensraum TailwindPHP\Lib\*. Alles andere unter src/ entspricht einer Datei in TailwindCSS.

Die Korrektheit wird anhand der eigenen Testsuite von Tailwind geprüft. Testfälle werden direkt aus TailwindCSS-Dateien .test.ts extrahiert und mit der Ausgabe von PHP ausgeführt, sodass jede Abweichung vom ursprünglichen Verhalten sofort auffällt. Das Ergebnis: 4.427 bestandene Tests (Release 1.7.0, gegen TailwindCSS v4.3.3), die Utilities, Varianten, Direktiven, Plugins, den CLI und die Begleitbibliotheken abdecken.

Seiten

  • Architektur — die Kompilierungspipeline (parse → scan → compile → optimize → minify), der Verzeichnisaufbau, das lightningcss-Äquivalent und die Konvention für @port-deviation-Marker.
  • Caching und Minifizierung — der dateibasierte Ausgabe-Cache (cache, cacheTtl, clearCache()), der Cache für den Compilerzustand (stateCacheFile) und die Funktionsweise des CSS-Minifiers.
  • Performance und Tests — Optimierungen speziell für PHP, die Überprüfung der Parität mit TailwindCSS und die Qualitätsprüfung des Codes.
  • Kompatibilität und Upgrades — Anforderungen, die erfasste TailwindCSS-Version, bekannte Unterschiede zu TailwindCSS und Versionshinweise zu Upgrades.