TailwindPHP
TailwindPHP é uma implementação 1:1 de TailwindCSS 4.x para PHP. Analisa seu CSS, examina a marcação em busca de nomes de classes e gera o CSS das classes utilitárias que TailwindCSS v4.3.3 produz — tudo em PHP, sem Node.js e sem etapa de compilação.
- PHP puro — distribuído como pacote Composer e executado em PHP 8.2+ com as extensões padrão
ctypeembstring. Semexec, FFI ou ferramentas nativas de compilação. - Validado em relação a TailwindCSS — utilitários, variantes, diretivas e funções CSS acompanham TailwindCSS v4.3.3. A saída é verificada com os próprios conjuntos de testes de Tailwind, extraídos do código-fonte de TypeScript e executados novamente a cada envio (4,400+ testes). As diferenças conhecidas (alguns detalhes de serialização sem efeito na cascata, além de problemas em aberto) estão listadas em Compatibilidade e atualização.
- Conjunto completo de recursos — todo o conjunto de utilitários TailwindCSS v4.3.3 (incluindo
container, os utilitários de barra de rolagem,zoom-*etab-*), todas as variantes (hover, focus, responsivo, modo escuro, consultas de contêiner e valores arbitrários) e toda a superfície de diretivas:@import,@theme,@apply,@utility,@variant,@custom-variant,@layer,@plugine@source. - Tudo incluído —
cn(),merge(),join()evariants()incluem implementações PHP de clsx, tailwind-merge e CVA, para que as bibliotecas auxiliares usadas em todo projeto Tailwind já estejam disponíveis. - Plugins —
@tailwindcss/typographye@tailwindcss/formsforam totalmente implementados, e uma PHP de plugin API permite criar os seus próprios.
Por que TailwindPHP existe
TailwindCSS é escrito em TypeScript e executado em Node.js. Isso é um requisito incontornável para qualquer projeto PHP que queira Tailwind: um segundo ambiente de execução, uma instalação de npm e uma etapa de compilação no CI e em Docker. Para muitas aplicações PHP, esse é um atrito que prefeririam evitar.
TailwindPHP elimina essa necessidade. Seu código PHP compila Tailwind CSS diretamente, usando apenas a biblioteca padrão. Isso possibilita algumas coisas difíceis ou impossíveis com a cadeia de ferramentas JavaScript:
- Frameworks WordPress e PHP — distribua temas e plugins com Tailwind sem pedir aos usuários que instalem Node.js ou executem uma compilação. Basta
composer requiree pronto. Veja TailwindWP, um plugin de exemplo WordPress que gera CSS para o editor de blocos com TailwindPHP. - CSS em tempo de execução — gere CSS de utilitários em tempo real a partir de dados do usuário, conteúdo do banco de dados ou variáveis de template, em vez de fazê-lo durante a compilação.
- Implantação mais simples — sem Node.js em produção, etapa de compilação no CI ou npm na imagem Docker.
É a mesma ideia que scssphp levou para SCSS — o compilador completo em PHP.
O que ele faz
- Compila o conjunto de utilitários TailwindCSS v4.3.3, as variantes e os valores arbitrários a partir dos nomes de classe encontrados no seu conteúdo.
- Resolve toda a superfície de diretivas:
@import(incluindo módulos virtuais comotailwindcssetailwindcss/utilities, além de importsreference),@theme,@apply,@utility,@variant,@custom-variant,@layer,@plugine@source. - Implementa as funções de CSS de Tailwind —
theme(),--theme(),--spacing()e--alpha()— além da conversão decolor-mix()paraoklab()e das transformações de CSS delegadas a LightningCSS por TailwindCSS. - Resolve
@importa partir do sistema de arquivos, com imports aninhados, deduplicação e resolvedores personalizados, ou a partir de strings CSS embutidas. - Inclui Preflight (a redefinição base de Tailwind), suporte a prefixos, fallbacks de
@property, prefixos de fornecedores e elevação de keyframes. - Inclui
cn(),merge(),join()evariants()/compose()para construção de nomes de classe, resolução de conflitos e variantes de componentes. - Inclui os plugins de tipografia e formulários, além de um plugin API (
addUtilities,matchUtilities,addComponents,addVariant,theme, …) para plugins personalizados. - Fornece um CLI (
bin/tailwindphp) com as opções de build@tailwindcss/cli, além de cache de saída baseado em arquivos, cache persistente do estado do compilador e um minificador CSS para produção.
O que não é
TailwindPHP é um compilador CSS, não uma cadeia de ferramentas para editores. Ele deixa de fora deliberadamente os recursos voltados ao IDE do ecossistema Tailwind — IntelliSense, preenchimento automático, ordenação de classes e mapas de origem — porque são recursos do editor, não fazem parte da geração de CSS. Tudo o que produz CSS está incluído; tudo o que dá suporte ao seu editor fica de fora.
Por onde começar
- Primeiros passos — instale o pacote e gere sua primeira folha de estilos.
- Uso — analise o conteúdo, personalize o tema e use as diretivas de Tailwind.
- Utilitários de classe —
cn(),merge(),join()evariants(). - Plugins — tipografia, formulários e como criar os seus próprios.
- API — toda a superfície de
twe a instância deTailwindCompiler. - CLI —
bin/tailwindphppara builds baseados em arquivos e modo de observação. - Avançado — arquitetura, cache, desempenho e notas de compatibilidade.