CLI
./vendor/bin/tailwindphp est un port PHP de @tailwindcss/cli qui ne nécessite aucun Node.js. Il accepte les mêmes options de compilation, à l'exception des cartes sources (--map), mais analyse le contenu différemment : consultez Ce que CLI analyse. Après composer require tailwindphp/tailwindphp, le binaire est lié à vendor/bin/.
Si vous avez uniquement besoin de CSS à l'exécution depuis PHP, utilisez plutôt API ; le CLI est destiné aux workflows de compilation qui écrivent une feuille de style sur le disque.
Démarrage rapide
# 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
Options
tailwindphp [-i input.css] [-o output.css] [--watch] [options…]
Indiquez la valeur des options longues avec = : --input=./src/app.css, --output=./dist/styles.css, --cwd=/path/to/project. Une valeur séparée par un espace après une option longue (--input ./src/app.css) est actuellement ignorée sans erreur, et la compilation utilise les valeurs par défaut (#13). Les options courtes prennent leur valeur comme argument suivant (-i ./src/app.css).
| Option | Description | Valeur par défaut |
|---|---|---|
-i, --input |
Fichier d'entrée CSS ; --input=- le lit depuis stdin |
@import "tailwindcss" |
-o, --output |
Fichier de sortie | - (stdout) |
-w, --watch |
Surveille les modifications et relance la compilation si nécessaire | — |
-m, --minify |
Optimise et minifie le résultat | — |
--optimize |
Présentée comme « optimiser sans minifier » ; minifie actuellement comme --minify (#9) |
— |
--cwd |
Répertoire de travail actuel | . |
-h, --help |
Affiche les informations d'utilisation | — |
-V, --version |
Affiche la version | — |
-v, --verbose |
Affiche la trace de pile en cas d'échec de compilation | — |
Lorsque --output vaut - (valeur par défaut), le CSS compilé est écrit sur stdout, ce qui permet de le rediriger. Les messages de progression (la bannière de version et Done in …ms) sont envoyés sur stderr.
Contrairement à @tailwindcss/cli, il n'existe pas d'option --map : TailwindPHP ne génère pas de cartes sources.
Entrée CSS
Créez un app.css avec votre import Tailwind, votre thème et vos directives :
@import "tailwindcss";
@theme {
--color-brand: #3b82f6;
}
Ce que CLI analyse
L'analyse du contenu dans CLI ne suit pas encore @source comme le fait @tailwindcss/cli (#8). Dans la version actuelle :
- Sans directive de fichier
@sourcedans le CSS d'entrée, CLI analyse récursivement le répertoire de travail (--cwd). Cela inclutvendor/etnode_modules/;.gitignoren'est pas consulté. - Avec une ou plusieurs directives de fichier
@source, CLI analyse récursivement le répertoire du fichier d'entrée. Le chemin ou le motif global de la directive n'est pas appliqué : un fichier@source "../templates"placé à côté desrc/app.cssanalysesrc/, et nontemplates/. - Les directives
@source not "…"sont ignorées ; elles n'excluent rien. @source inline("…")et@source not inline("…")fonctionnent comme indiqué, car le compilateur les gère lui-même.
Seuls les fichiers ayant les extensions suivantes sont lus : php, html, htm, twig, blade.php, vue, jsx, tsx, svelte, astro et mdx. Les noms de classes sont extraits des attributs class et className, comme dans tw::extractCandidates() ; une classe présente uniquement dans une chaîne PHP ou JavaScript ne sera donc pas détectée. Ajoutez ces classes avec @source inline("…").
En attendant la correction, la configuration fiable consiste à placer un fichier d'entrée CSS à la racine du répertoire à analyser :
/* templates/app.css: scans templates/ recursively */
@import "tailwindcss";
@source "./";
Consultez @source pour la syntaxe des directives, y compris les formes not et inline().
Exemples
# 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 crée le répertoire de sortie s'il n'existe pas et renvoie une erreur si le fichier d'entrée est introuvable ou si les chemins d'entrée et de sortie sont identiques. Le mode surveillance vérifie le fichier d'entrée et les fichiers analysés toutes les 500 ms, puis relance la compilation si l'un d'eux change ou si un nouveau fichier apparaît.
Installation globale
Installez globalement pour utiliser tailwindphp depuis n'importe où :
composer global require tailwindphp/tailwindphp
# Now available globally
tailwindphp -i ./src/app.css -o ./dist/styles.css
Consultez Bien démarrer pour configurer un projet et API pour générer CSS à l'exécution depuis PHP.