Aller au contenu

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

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

Options

Shell
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 :

CSS
@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 @source dans le CSS d'entrée, CLI analyse récursivement le répertoire de travail (--cwd). Cela inclut vendor/ et node_modules/ ; .gitignore n'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é de src/app.css analyse src/, et non templates/.
  • 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 :

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

Consultez @source pour la syntaxe des directives, y compris les formes not et inline().

Exemples

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 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ù :

Shell
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.