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
# 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
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:
@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 auchvendor/undnode_modules/;.gitignorewird 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"nebensrc/app.cssdurchsuchtsrc/, nichttemplates/. @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:
/* templates/app.css: scans templates/ recursively */
@import "tailwindcss";
@source "./";
Siehe @source für die Direktiven-Syntax, einschließlich der Formen not und inline().
Beispiele
# 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:
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.