CLI
./vendor/bin/tailwindphp é uma implementação PHP de @tailwindcss/cli sem precisar de Node.js. Aceita as mesmas opções de compilação, exceto mapas de origem (--map), mas examina o conteúdo de outra forma: consulte O que o CLI examina. Após composer require tailwindphp/tailwindphp, o binário é vinculado a vendor/bin/.
Se precisar apenas de CSS em tempo de execução a partir de PHP, use API em vez disso — CLI é para fluxos de trabalho de compilação que gravam uma folha de estilos em disco.
Início 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
Opções
tailwindphp [-i input.css] [-o output.css] [--watch] [options…]
Forneça valores às opções longas com =: --input=./src/app.css, --output=./dist/styles.css, --cwd=/path/to/project. Atualmente, um valor separado por espaço após uma opção longa (--input ./src/app.css) é ignorado sem erro, e a compilação usa os valores padrão (#13). Opções curtas recebem o valor como próximo argumento (-i ./src/app.css).
| Opção | Descrição | Padrão |
|---|---|---|
-i, --input |
Arquivo CSS de entrada; --input=- o lê da entrada padrão |
@import "tailwindcss" |
-o, --output |
Arquivo de saída | - (saída padrão) |
-w, --watch |
Monitora alterações e recompila conforme necessário | — |
-m, --minify |
Otimiza e minifica a saída | — |
--optimize |
Documentado como “otimizar sem minificar”; atualmente minifica como --minify (#9) |
— |
--cwd |
Diretório de trabalho atual | . |
-h, --help |
Exibe informações de uso | — |
-V, --version |
Exibe a versão | — |
-v, --verbose |
Exibe o rastreamento da pilha quando uma compilação falha | — |
Quando --output é - (o padrão), o CSS compilado é enviado à saída padrão, para que você possa redirecioná-lo para outro lugar. As mensagens de progresso (o aviso da versão e Done in …ms) são enviadas para a saída de erro padrão.
Ao contrário de @tailwindcss/cli, não há opção --map: TailwindPHP não gera mapas de origem.
Entrada CSS
Crie um app.css com sua importação, tema e diretivas de Tailwind:
@import "tailwindcss";
@theme {
--color-brand: #3b82f6;
}
O que o CLI examina
A varredura de conteúdo no CLI ainda não segue @source da mesma forma que @tailwindcss/cli (#8). Na versão atual:
- Sem uma diretiva
@sourcede arquivo no CSS de entrada, o CLI examina recursivamente o diretório de trabalho (--cwd). Isso incluivendor/enode_modules/;.gitignorenão é consultado. - Com uma ou mais diretivas
@sourcede arquivo, o CLI examina recursivamente o diretório do arquivo de entrada. O caminho ou padrão glob da diretiva não é aplicado:@source "../templates"ao lado desrc/app.cssexaminasrc/, nãotemplates/. - Diretivas
@source not "…"são ignoradas; não excluem nada. @source inline("…")e@source not inline("…")funcionam conforme documentado, pois o compilador as processa diretamente.
Somente arquivos com estas extensões são lidos: php, html, htm, twig, blade.php, vue, jsx, tsx, svelte, astro e mdx. Os nomes das classes são obtidos dos atributos class e className, assim como em tw::extractCandidates(); portanto, uma classe que aparece apenas em uma string PHP ou JavaScript não é encontrada. Force a inclusão dessas classes com @source inline("…").
Até que isso seja corrigido, a configuração confiável é um arquivo de entrada CSS no topo do diretório que você quer examinar:
/* templates/app.css: scans templates/ recursively */
@import "tailwindcss";
@source "./";
Consulte @source para ver a sintaxe das diretivas, incluindo as formas not e inline().
Exemplos
# 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
O CLI cria o diretório de saída caso ele não exista e encerra com erro se o arquivo de entrada estiver ausente ou se os caminhos de entrada e saída forem idênticos. O modo de monitoramento verifica o arquivo de entrada e os arquivos examinados a cada 500 ms e recompila quando algum deles muda ou quando um novo arquivo aparece.
Instalação global
Instale globalmente para usar tailwindphp de qualquer lugar:
composer global require tailwindphp/tailwindphp
# Now available globally
tailwindphp -i ./src/app.css -o ./dist/styles.css
Consulte Primeiros passos para configurar o projeto e API para gerar CSS em tempo de execução a partir de PHP.