CLI
./vendor/bin/tailwindphp è un port PHP di @tailwindcss/cli che non richiede Node.js. Accetta le stesse opzioni di compilazione, tranne le mappe sorgente (--map), ma analizza i contenuti in modo diverso: consultate Cosa analizza CLI. Dopo composer require tailwindphp/tailwindphp, il binario viene collegato a vendor/bin/.
Se vi serve solo CSS in fase di esecuzione da PHP, usate invece API: CLI è pensato per flussi di lavoro di compilazione che scrivono un foglio di stile su disco.
Avvio rapido
# 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
Opzioni
tailwindphp [-i input.css] [-o output.css] [--watch] [options…]
Assegnate un valore alle opzioni lunghe con =: --input=./src/app.css, --output=./dist/styles.css, --cwd=/path/to/project. Al momento, un valore separato da uno spazio dopo un'opzione lunga (--input ./src/app.css) viene ignorato senza errori e la compilazione usa i valori predefiniti (#13). Le opzioni brevi accettano il valore come argomento successivo (-i ./src/app.css).
| Opzione | Descrizione | Valore predefinito |
|---|---|---|
-i, --input |
File CSS di input; --input=- lo legge da stdin |
@import "tailwindcss" |
-o, --output |
File di output | - (stdout) |
-w, --watch |
Rileva le modifiche e ricompila quando necessario | — |
-m, --minify |
Ottimizza e minimizza l'output | — |
--optimize |
La documentazione indica «ottimizza senza minimizzare»; al momento minimizza come --minify (#9) |
— |
--cwd |
Directory di lavoro corrente | . |
-h, --help |
Mostra le informazioni sull'utilizzo | — |
-V, --version |
Stampa la versione | — |
-v, --verbose |
Stampa la traccia dello stack se una compilazione non riesce | — |
Quando --output è - (valore predefinito), il file CSS compilato viene scritto su stdout, così potete reindirizzarlo altrove. I messaggi di avanzamento (il banner della versione e Done in …ms) vengono inviati a stderr.
A differenza di @tailwindcss/cli, non esiste l'opzione --map: TailwindPHP non genera mappe sorgente.
File CSS di input
Create un app.css con l'importazione, il tema e le direttive di Tailwind:
@import "tailwindcss";
@theme {
--color-brand: #3b82f6;
}
Cosa analizza CLI
L'analisi dei contenuti in CLI non segue ancora @source come fa @tailwindcss/cli (#8). Nella versione attuale:
- Senza una direttiva
@sourcenel file nel file di input CSS, CLI analizza ricorsivamente la directory di lavoro (--cwd). Sono incluse anchevendor/enode_modules/;.gitignorenon viene consultato. - Con una o più direttive
@sourcenel file, CLI analizza ricorsivamente la directory del file di input. Il percorso o il glob nella direttiva non viene applicato:@source "../templates"accanto asrc/app.cssanalizzasrc/, nontemplates/. - Le direttive
@source not "…"vengono ignorate e non escludono nulla. @source inline("…")e@source not inline("…")funzionano come documentato, perché vengono gestite direttamente dal compilatore.
Vengono letti solo i file con queste estensioni: php, html, htm, twig, blade.php, vue, jsx, tsx, svelte, astro e mdx. I nomi delle classi vengono ricavati dagli attributi class e className, come in tw::extractCandidates(); pertanto, una classe presente solo in una stringa PHP o JavaScript non viene trovata. Aggiungete queste classi manualmente con @source inline("…").
Finché il problema non sarà risolto, la configurazione più affidabile prevede un file di input CSS nella directory da analizzare, al suo livello principale:
/* templates/app.css: scans templates/ recursively */
@import "tailwindcss";
@source "./";
Consultate @source per la sintassi delle direttive, comprese le forme not e inline().
Esempi
# 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 crea la directory di output se non esiste ed esce con un errore se manca il file di input o se i percorsi di input e output coincidono. La modalità di osservazione controlla il file di input e quelli analizzati ogni 500 ms e ricompila quando uno di essi cambia o viene aggiunto un nuovo file.
Installazione globale
Installate globalmente per usare tailwindphp da qualsiasi posizione:
composer global require tailwindphp/tailwindphp
# Now available globally
tailwindphp -i ./src/app.css -o ./dist/styles.css
Consultate Per iniziare per configurare il progetto e API per generare CSS in fase di esecuzione da PHP.