Zum Inhalt springen

TailwindPHP

Eine Portierung von TailwindCSS 4.x nach PHP. Erzeuge Tailwind-Hilfsklassen CSS in PHP, ganz ohne Node.js und ohne Build-Schritt. Mitgeliefert werden cn(), tailwind-merge, CVA, die Typografie- und Forms-Plugins sowie ein CLI.

Terminal
composer require tailwindphp/tailwindphp

Neueste Version v1.7.0 MIT PHP 8.2+

In der Praxis

Übergib Markup und optional eine Eingabe-CSS an einen PHP-Aufruf und erhalte ein Stylesheet zurück.

CSS aus PHP generieren

tw::generate() durchsucht das Markup nach Klassennamen und gibt nur die CSS zurück, die diese Klassen benötigen. Das zweite Argument nimmt Eingabe-CSS entgegen. So wird eine in @theme definierte Farbe zu einer Hilfsklasse.

cn() erstellt Klassenzeichenfolgen und löst Tailwind-Konflikte auf, sodass die zuletzt angegebene, widersprüchliche Hilfsklasse Vorrang hat.

PHP
use TailwindPHP\tw;

$css = tw::generate(
    '<div class="bg-brand p-4">Hello</div>',
    '@import "tailwindcss"; @theme { --color-brand: #3b82f6; }'
);
// .bg-brand now resolves to var(--color-brand)

Reines PHP

Kein Node.js und kein Build-Schritt. Läuft mit PHP 8.2+ und den Standard-Erweiterungen mbstring und ctype. Mit composer require installieren und loslegen.

Folgt TailwindCSS v4.3.3

Eine Portierung von Tailwind v4.3.3 mit denselben Hilfsklassen, Varianten und Direktiven. Die bekannten Unterschiede zu Tailwind sind dokumentiert.

Über 4.400 Tests

Die Ausgabe wird anhand der eigenen Testsuiten von TailwindCSS geprüft. Diese wurden aus dem Quellcode von TypeScript extrahiert und werden bei jedem Push erneut ausgeführt.

Alle Hilfsklassen und Varianten

Der vollständige Satz an Hilfsklassen und alle Varianten: hover, focus, responsives Design, Dark Mode, Container-Abfragen und beliebige Werte.

CSS-Direktiven

@import, @theme, @apply, @utility, @custom-variant, @layer, @plugin und @source werden in PHP geparst und aufgelöst.

Generierung zur Laufzeit

Erzeuge Hilfsklassen CSS spontan aus HTML, Datenbankinhalten oder Template-Variablen. Ein Build-Schritt ist nicht erforderlich.

Alles dabei

cn(), merge(), join() und variants(): clsx, tailwind-merge und CVA, nach PHP portiert, ohne zusätzliche Pakete.

Plugins

@tailwindcss/typography und @tailwindcss/forms nach PHP portiert, dazu ein PHP-Plugin API für deine eigenen Hilfsklassen und Komponenten.

CLI

bin/tailwindphp erstellt mit -i, -o, --watch und --minify ein Stylesheet aus einer Eingabe-CSS-Datei.

Theme untersuchen

Lies rohe und berechnete Eigenschaftswerte, Farben, Breakpoints und Abstände für jede Klasse direkt aus PHP aus.

Cache und Minifizierer

Ein integrierter CSS-Minifizierer und ein Datei-Cache mit TTL beschleunigen wiederholte Builds und halten die Ausgabe schlank.

Frameworks für WordPress und PHP

Veröffentliche Tailwind-basierte Themes und Plugins ohne Node.js im Stack. TailwindPHP ist eine einzelne Composer-Abhängigkeit.

Warum TailwindPHP

Eine Laufzeitumgebung in Produktion

Ein PHP-Projekt, das Tailwind einsetzt, bringt meist auch Node.js, eine npm-Installation und einen Build-Schritt in CI und Docker mit sich. TailwindPHP kompiliert CSS stattdessen direkt im PHP-Prozess.

CSS für Inhalte, die erst zur Laufzeit bekannt sind

Markup aus einer Datenbank, Benutzereingaben oder einer Template-Variablen kannst du direkt an tw::generate() übergeben. Es gibt nur die CSS zurück, die die enthaltenen Klassen benötigen.

Anhand einer festgelegten Tailwind-Version geprüft

Testfälle werden aus dem im Repository festgelegten Tailwind-Quellcode extrahiert und mit der Ausgabe von PHP abgeglichen. Abweichungen lassen CI fehlschlagen. Release 1.7.0 wurde mit 4.427 Tests gegen Tailwind v4.3.3 geprüft.

Seitenspezifisches CSS aus einem Compiler

Kompiliere das Theme einmal mit tw::compile() und rufe dann für jede Seite generateExact() auf. Jeder Aufruf gibt zurück, was eine kalte tw::generate() dieser Seite erzeugen würde, ohne das Theme erneut zu parsen.

Im Vergleich zu

Tailwind Labs bietet eigene Möglichkeiten, Tailwind CSS zu erstellen. Hier erfährst du, worin sich TailwindPHP unterscheidet.

TailwindPHP im Vergleich zu anderen Werkzeugen
Tailwind CLI (@tailwindcss/cli) Gut geeignet fürTailwinds eigenes Kommandozeilen-Tool, installiert über npm. Es durchsucht deine HTML-Dateien, Komponenten und Templates nach Klassennamen und schreibt die passenden Styles in eine statische CSS-Datei. Unterschiede zu TailwindPHPTailwindPHP kompiliert in PHP ohne Installation von Node.js oder npm. Es folgt einer festgelegten Tailwind-Version (v4.3.3 in 1.7.0). Der eigene Benchmark zeigt, dass das ursprüngliche TypeScript die Low-Level-Operationen schneller ausführt.
Eigenständiges CLI von Tailwind Gut geeignet fürTailwind CLI als eigenständige ausführbare Datei für Projekte, die es ohne Installation von Node.js nutzen möchten. Unterschiede zu TailwindPHPDie ausführbare Datei ist ein separates Binärprogramm, das als Build-Schritt läuft. TailwindPHP ist ein Composer-Paket, das dein PHP-Code aufruft. Dadurch kann es CSS auch bei einer Anfrage aus Datenbankinhalten oder Template-Variablen generieren.
Tailwind Play CDN Gut geeignet fürEin Script-Tag, das Tailwind im Browser ausführt, um es ohne Build-Schritt auszuprobieren. Laut Tailwind-Doku ist es für die Entwicklung gedacht und nicht für den Produktionseinsatz vorgesehen. Unterschiede zu TailwindPHPAuch TailwindPHP benötigt keinen Build-Schritt, generiert aber CSS in PHP auf dem Server und gibt es als Zeichenfolge zurück, zum Beispiel zum Schreiben in ein Stylesheet.

Quellen, ausgewählt

Fragen und Antworten

Kurze Antworten aus der TailwindPHP-Dokumentation.

Installiere das Paket mit Composer und folge der Anleitung für den Einstieg, um dein erstes Stylesheet aus PHP zu generieren.