Pular para o conteúdo

TailwindPHP

Uma adaptação de TailwindCSS 4.x para PHP. Gere CSS das classes utilitárias de Tailwind em PHP, sem Node.js nem etapa de compilação. Inclui cn(), tailwind-merge, CVA, os plugins de tipografia e formulários e um CLI.

Terminal
composer require tailwindphp/tailwindphp

Versão mais recente v1.7.0 MIT PHP 8.2+

Na prática

Passe a marcação e o arquivo CSS opcional de entrada em uma única chamada PHP para obter uma folha de estilos.

Gere CSS a partir de PHP

tw::generate() analisa a marcação em busca de nomes de classes e retorna apenas os CSS necessários para essas classes. O segundo argumento recebe CSS de entrada, então uma cor definida em @theme se torna uma classe utilitária.

cn() monta strings de classes e resolve conflitos de Tailwind, então a última classe utilitária conflitante prevalece.

PHP
use TailwindPHP\tw;

$css = tw::generate(
    '<div class="bg-brand p-4">Hello</div>',
    '@import "tailwindcss"; @theme { --color-brand: #3b82f6; }'
);
// .bg-brand now resolves to var(--color-brand)

PHP puro

Sem Node.js nem etapa de compilação. Funciona com PHP 8.2+ e as extensões padrão mbstring e ctype. Execute composer require e comece.

Acompanha TailwindCSS v4.3.3

Uma adaptação de Tailwind v4.3.3 com as mesmas classes utilitárias, variantes e diretivas. As diferenças conhecidas em relação a Tailwind estão documentadas.

4 400+ testes

A saída é verificada com os próprios conjuntos de testes de TailwindCSS, extraídos do seu código-fonte escrito em TypeScript e executados novamente a cada push.

Todas as classes utilitárias e variantes

Conjunto completo de classes utilitárias e todas as variantes: hover, focus, responsivo, modo escuro, consultas de contêiner e valores arbitrários.

Diretivas CSS

@import, @theme, @apply, @utility, @custom-variant, @layer, @plugin e @source, analisados e resolvidos em PHP.

Geração em tempo de execução

Gere CSS de classes utilitárias na hora a partir de HTML, conteúdo de banco de dados ou variáveis de modelo. Não é necessária uma etapa de compilação.

Tudo incluído

cn(), merge(), join() e variants(): clsx, tailwind-merge e CVA adaptados para PHP, sem pacotes adicionais.

Plugins

@tailwindcss/typography e @tailwindcss/forms adaptados para PHP, além de uma API de plugins PHP para suas próprias classes utilitárias e componentes.

CLI

bin/tailwindphp cria uma folha de estilos a partir de um arquivo de entrada CSS com -i, -o, --watch e --minify.

Inspecione o tema

Leia valores de propriedade brutos e calculados, cores, pontos de interrupção e espaçamento de qualquer classe diretamente de PHP.

Cache e minificador

Um minificador CSS integrado e um cache de arquivos com TTL mantêm as compilações repetidas rápidas e a saída enxuta.

Frameworks WordPress e PHP

Distribua temas e plugins baseados em Tailwind sem Node.js na pilha. TailwindPHP é uma única dependência Composer.

Por que TailwindPHP

Um único ambiente de execução em produção

Um projeto PHP que adota Tailwind normalmente também passa a usar Node.js, uma instalação npm e uma etapa de compilação em CI e Docker. Em vez disso, TailwindPHP compila o CSS dentro do processo PHP.

CSS para conteúdo conhecido em tempo de execução

A marcação de um banco de dados, da entrada do usuário ou de uma variável de modelo pode ser enviada diretamente para tw::generate(), que retorna apenas os CSS necessários para suas classes.

Verificado com uma versão fixada de Tailwind

Os casos de teste são extraídos do código-fonte de Tailwind fixado no repositório e executados com a saída de PHP, de modo que qualquer divergência faz o CI falhar. A versão 1.7.0 foi verificada com Tailwind v4.3.3 em 4 427 testes.

CSS por página com um único compilador

Compile o tema uma vez com tw::compile() e depois chame generateExact() para cada página. Cada chamada retorna o que uma tw::generate() a frio dessa página produziria, sem analisar o tema novamente.

Comparação com

A Tailwind Labs oferece suas próprias formas de criar Tailwind CSS. Veja como TailwindPHP se diferencia.

TailwindPHP em comparação com outras ferramentas
Tailwind CLI (@tailwindcss/cli) Ideal paraA própria ferramenta de linha de comando de Tailwind, instalada por npm. Ela analisa seus arquivos HTML, componentes e modelos em busca de nomes de classes e grava os estilos correspondentes em um arquivo CSS estático. Diferenças em relação a TailwindPHPTailwindPHP compila dentro de PHP sem instalação de Node.js ou npm. Acompanha uma versão fixa de Tailwind (v4.3.3 em 1.7.0), e seu próprio benchmark mostra que o original TypeScript executa as operações de baixo nível mais rápido.
Tailwind independente CLI Ideal paraO Tailwind CLI como executável independente, para projetos que querem usá-lo sem instalar Node.js. Diferenças em relação a TailwindPHPO executável é um binário separado que roda como etapa de compilação. TailwindPHP é um pacote Composer chamado pelo código PHP do seu projeto, que também pode gerar CSS no momento da solicitação a partir de conteúdo de banco de dados ou variáveis de modelo.
Tailwind Play CDN Ideal paraUma tag de script que executa Tailwind no navegador, para experimentá-lo sem etapa de compilação. A documentação de Tailwind diz que ele foi desenvolvido para uso durante o desenvolvimento e não se destina à produção. Diferenças em relação a TailwindPHPTailwindPHP também dispensa etapa de compilação, mas gera CSS no PHP do servidor e o retorna como string, por exemplo, para gravá-lo em uma folha de estilos.

Perguntas e respostas

Respostas curtas da documentação do TailwindPHP.

Instale o pacote com Composer e siga o guia de introdução para gerar sua primeira folha de estilos a partir de PHP.