Saltar al contenido

CLI

./vendor/bin/tailwindphp es una implementación PHP de @tailwindcss/cli que no requiere Node.js. Acepta las mismas opciones de compilación, excepto los mapas de fuentes (--map), pero analiza el contenido de otra manera: consulte Qué analiza CLI. Tras composer require tailwindphp/tailwindphp, el binario se enlaza en vendor/bin/.

Si solo necesita CSS en tiempo de ejecución desde PHP, use API; CLI está pensado para flujos de trabajo de compilación que escriben una hoja de estilos en el disco.

Inicio rápido

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

Opciones

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

Indique el valor de las opciones largas con =: --input=./src/app.css, --output=./dist/styles.css, --cwd=/path/to/project. Actualmente, se ignora sin mostrar un error el valor separado por un espacio tras una opción larga (--input ./src/app.css), y la compilación usa los valores predeterminados (#13). Las opciones cortas aceptan el valor como argumento siguiente (-i ./src/app.css).

Opción Descripción Predeterminado
-i, --input Archivo de entrada CSS; --input=- lo lee desde la entrada estándar @import "tailwindcss"
-o, --output Archivo de salida - (salida estándar)
-w, --watch Busca cambios y vuelve a compilar cuando sea necesario —
-m, --minify Optimiza y minimiza el resultado —
--optimize Se documenta como «optimizar sin minimizar»; actualmente minimiza igual que --minify (#9) —
--cwd Directorio de trabajo actual .
-h, --help Muestra información de uso —
-V, --version Muestra la versión —
-v, --verbose Muestra el seguimiento de pila si falla una compilación —

Cuando --output es - (el valor predeterminado), el CSS compilado se escribe en la salida estándar, por lo que puede canalizarlo a otro destino. Los mensajes de progreso (el aviso de la versión y Done in …ms) se envían a la salida de error estándar.

A diferencia de @tailwindcss/cli, no hay opción --map: TailwindPHP no genera mapas de fuentes.

Entrada CSS

Cree un app.css con su importación de Tailwind, tema y directivas:

CSS
@import "tailwindcss";

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

Qué analiza CLI

El análisis de contenido en CLI aún no sigue @source como lo hace @tailwindcss/cli (#8). En la versión actual:

  • Si la entrada CSS no contiene una directiva de archivo @source, CLI analiza recursivamente el directorio de trabajo (--cwd). Esto incluye vendor/ y node_modules/; no consulta .gitignore.
  • Si hay una o más directivas de archivo @source, CLI analiza recursivamente el directorio del archivo de entrada. No se aplica la ruta ni el patrón glob de la directiva: @source "../templates" junto a src/app.css analiza src/, no templates/.
  • Se omiten las directivas @source not "…"; no excluyen nada.
  • @source inline("…") y @source not inline("…") funcionan según lo documentado, porque el compilador las gestiona directamente.

Solo se leen los archivos con estas extensiones: php, html, htm, twig, blade.php, vue, jsx, tsx, svelte, astro y mdx. Los nombres de clase se obtienen de los atributos class y className, igual que en tw::extractCandidates(), por lo que no se detecta una clase que solo aparezca en una cadena PHP o JavaScript. Incluya esas clases de forma explícita con @source inline("…").

Hasta que se corrija, la configuración fiable consiste en colocar un archivo de entrada CSS en la raíz del directorio que quiera analizar:

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

Consulte @source para ver la sintaxis de las directivas, incluidas las formas not y inline().

Ejemplos

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 crea el directorio de salida si no existe y termina con un error si falta el archivo de entrada o si las rutas de entrada y salida son idénticas. El modo de observación comprueba el archivo de entrada y los archivos analizados cada 500 ms, y vuelve a compilar cuando alguno cambia o aparece un archivo nuevo.

Instalación global

Instálelo globalmente para usar tailwindphp desde cualquier lugar:

Shell
composer global require tailwindphp/tailwindphp

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

Consulte Introducción para configurar el proyecto y API para generar CSS en tiempo de ejecución a partir de PHP.