Zum Inhalt springen

CLI

./vendor/bin/tailwindphp ist eine PHP-Portierung von @tailwindcss/cli ohne erforderliches Node.js. Der Befehl übernimmt dieselben Build-Optionen, abgesehen von Source Maps (--map), durchsucht Inhalte jedoch anders: siehe Was der CLI durchsucht. Nach composer require tailwindphp/tailwindphp wird die Binärdatei in vendor/bin/ verlinkt.

Wenn du CSS nur zur Laufzeit von PHP brauchst, verwende stattdessen API. Der CLI ist für Build-Abläufe gedacht, die ein Stylesheet auf die Festplatte schreiben.

Schnellstart

Shell
# Build CSS from an input file
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css

# Watch for changes and rebuild
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css --watch

# Build minified for production
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css --minify

Optionen

Shell
tailwindphp [-i input.css] [-o output.css] [--watch] [options…]

Gib langen Optionen ihren Wert mit = an: --input=./src/app.css, --output=./dist/styles.css, --cwd=/path/to/project. Ein durch Leerzeichen getrennter Wert nach einer langen Option (--input ./src/app.css) wird derzeit ohne Fehlermeldung ignoriert, und der Build verwendet die Standardwerte (#13). Kurze Optionen übernehmen den Wert als nächstes Argument (-i ./src/app.css).

Option Beschreibung Standardwert
-i, --input Eingabe-CSS-Datei; --input=- liest sie von stdin @import "tailwindcss"
-o, --output Ausgabedatei - (stdout)
-w, --watch Auf Änderungen warten und bei Bedarf neu erstellen —
-m, --minify Ausgabe optimieren und minimieren —
--optimize Dokumentiert als „optimieren, ohne zu minimieren“; minimiert derzeit wie --minify (#9) —
--cwd Aktuelles Arbeitsverzeichnis .
-h, --help Nutzungsinformationen anzeigen —
-V, --version Version ausgeben —
-v, --verbose Stacktrace ausgeben, wenn ein Build fehlschlägt —

Wenn --output auf - gesetzt ist (Standard), wird das kompilierte CSS auf stdout ausgegeben, sodass du es weiterleiten kannst. Fortschrittsmeldungen (Versionsbanner und Done in …ms) gehen an stderr.

Anders als @tailwindcss/cli gibt es keine --map-Option: TailwindPHP erstellt keine Source Maps.

Eingabe-CSS

Erstelle eine app.css mit deinem Tailwind-Import, Theme und Direktiven:

CSS
@import "tailwindcss";

@theme {
    --color-brand: #3b82f6;
}

Was der CLI durchsucht

Die Inhaltssuche im CLI folgt noch nicht @source wie @tailwindcss/cli (#8). In der aktuellen Version gilt:

  • Ohne @source-Dateidirektive in der Eingabe-CSS durchsucht der CLI das Arbeitsverzeichnis (--cwd) rekursiv. Das umfasst auch vendor/ und node_modules/; .gitignore wird nicht berücksichtigt.
  • Mit einer oder mehreren @source-Dateidirektiven durchsucht der CLI das Verzeichnis der Eingabedatei rekursiv. Der Pfad oder Glob in der Direktive wird nicht angewendet: @source "../templates" neben src/app.css durchsucht src/, nicht templates/.
  • @source not "…"-Direktiven werden übersprungen und schließen nichts aus.
  • @source inline("…") und @source not inline("…") funktionieren wie dokumentiert, da der Compiler sie selbst verarbeitet.

Es werden nur Dateien mit diesen Erweiterungen gelesen: php, html, htm, twig, blade.php, vue, jsx, tsx, svelte, astro und mdx. Klassennamen werden aus den Attributen class und className entnommen, genau wie bei tw::extractCandidates(). Eine Klasse, die nur in einer Zeichenfolge mit PHP oder JavaScript vorkommt, wird daher nicht gefunden. Binde solche Klassen mit @source inline("…") ein.

Bis das behoben ist, empfiehlt sich als zuverlässige Lösung eine Eingabe-CSS-Datei im obersten Verzeichnis, das du durchsuchen möchtest:

CSS
/* templates/app.css: scans templates/ recursively */
@import "tailwindcss";
@source "./";

Siehe @source für die Direktiven-Syntax, einschließlich der Formen not und inline().

Beispiele

Shell
# Build from an input file
tailwindphp -i ./src/app.css -o ./dist/styles.css

# Build minified for production
tailwindphp -i ./src/app.css -o ./dist/styles.css -m

# Watch mode with minification
tailwindphp -i ./src/app.css -o ./dist/styles.css -w -m

# Run against a different working directory
tailwindphp -i app.css -o dist/styles.css --cwd=/path/to/project

CLI erstellt das Ausgabeverzeichnis, falls es nicht existiert, und bricht mit einer Fehlermeldung ab, wenn die Eingabedatei fehlt oder Eingabe- und Ausgabepfad identisch sind. Im Überwachungsmodus prüft der Befehl die Eingabedatei und die durchsuchten Dateien alle 500 ms und erstellt neu, wenn sich eine davon ändert oder eine neue Datei erscheint.

Globale Installation

Installiere es global, um tailwindphp von überall aus zu verwenden:

Shell
composer global require tailwindphp/tailwindphp

# Now available globally
tailwindphp -i ./src/app.css -o ./dist/styles.css

Siehe Erste Schritte für die Projekteinrichtung und API zur Laufzeit-CSS-Generierung aus PHP.