Avancé
TailwindPHP est un portage 1:1 de TailwindCSS 4.x en PHP pur. Le principe directeur est la fidélité : la base de code reproduit le projet TypeScript d’origine fichier par fichier, avec les mêmes noms de fichiers et la même organisation. Ainsi, chaque comportement de TailwindCSS a un équivalent évident dans PHP, et les changements en amont peuvent être suivis sans conjecture.
Tout ce qui ne fait pas partie du port TailwindCSS se trouve à un seul endroit clairement identifié : src/_tailwindphp/. Ce répertoire contient les utilitaires spécifiques à PHP — une réimplémentation des transformations Rust lightningcss (LightningCss.php), le minificateur CSS (CssMinifier.php) et les ports des bibliothèques associées (lib/ : clsx, tailwind-merge, CVA), sous l'espace de noms TailwindPHP\Lib\*. Tout le reste dans src/ correspond à un fichier dans TailwindCSS.
La conformité est vérifiée à l'aide de la suite de tests de Tailwind. Les cas de test sont extraits directement des fichiers .test.ts de TailwindCSS et exécutés sur la sortie de PHP ; tout écart par rapport au comportement d'origine entraîne donc immédiatement un échec. Résultat : 4,427 tests réussis (version 1.7.0, avec la référence TailwindCSS v4.3.3), couvrant les utilitaires, les variantes, les directives, les plugins, le CLI et les bibliothèques associées.
Pages
- Architecture — le pipeline de compilation (analyse → balayage → compilation → optimisation → minification), l'organisation des sources, l'équivalent de
lightningcsset la convention des marqueurs@port-deviation. - Mise en cache et minification — le cache de sortie basé sur les fichiers (
cache,cacheTtl,clearCache()), le cache d'état du compilateur (stateCacheFile) et le rôle du minificateur CSS. - Performances et tests — les optimisations propres à PHP, la vérification de la parité avec TailwindCSS et le contrôle de qualité du code.
- Compatibilité et mises à niveau — les prérequis, la version de TailwindCSS suivie, les différences connues par rapport à TailwindCSS et les notes de mise à niveau pour chaque version.