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
# 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
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:
@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 incluyevendor/ynode_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 asrc/app.cssanalizasrc/, notemplates/. - 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:
/* 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
# 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:
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.