Pular para o conteúdo

Avançado

TailwindPHP é uma adaptação 1:1 de TailwindCSS 4.x para PHP puro. O princípio orientador é a fidelidade: a base de código espelha o projeto TypeScript original, arquivo por arquivo — os mesmos nomes de arquivos e a mesma organização — para que todo comportamento de TailwindCSS tenha um lugar claro em PHP e as mudanças no projeto de origem possam ser acompanhadas sem adivinhações.

Tudo que não faz parte da versão portada de TailwindCSS fica em um único lugar claramente identificado: src/_tailwindphp/. Esse diretório contém os auxiliares específicos de PHP — uma reimplementação das transformações de Rust lightningcss (LightningCss.php), o minificador CSS (CssMinifier.php) e as versões portadas das bibliotecas complementares (lib/: clsx, tailwind-merge, CVA) sob o namespace TailwindPHP\Lib\*. Todo o restante em src/ corresponde a um arquivo em TailwindCSS.

A correção é verificada com o próprio conjunto de testes de Tailwind. Os casos de teste são extraídos diretamente dos arquivos .test.ts de TailwindCSS e executados contra a saída de PHP, de modo que qualquer divergência em relação ao comportamento original falha imediatamente. O resultado são 4,427 testes aprovados (versão 1.7.0, contra a referência TailwindCSS v4.3.3), cobrindo utilitários, variantes, diretivas, plugins, CLI e as bibliotecas complementares.

Páginas

  • Arquitetura — o fluxo de compilação (parse → scan → compile → optimize → minify), a estrutura do código-fonte, o equivalente a lightningcss e a convenção de marcadores @port-deviation.
  • Cache e minificação — o cache de saída baseado em arquivos (cache, cacheTtl, clearCache()), o cache de estado do compilador (stateCacheFile) e o que o minificador CSS faz.
  • Desempenho e testes — otimizações específicas de PHP, como a paridade com TailwindCSS é verificada e a etapa de controle de qualidade do código.
  • Compatibilidade e atualizações — requisitos, a versão de TailwindCSS acompanhada, diferenças conhecidas em relação a TailwindCSS e notas de atualização por versão.