Aller au contenu

TailwindPHP

Un portage de TailwindCSS 4.x vers PHP. Générez des Tailwind utilitaires CSS en PHP, sans Node.js ni étape de compilation. Inclut cn(), tailwind-merge, CVA, les extensions de typographie et de formulaires, ainsi qu’un CLI.

Terminal
composer require tailwindphp/tailwindphp

Dernière version v1.7.0 MIT PHP 8.2+

En pratique

Transmettez le balisage et, facultativement, le CSS d’entrée à un seul appel PHP pour obtenir une feuille de style.

Générer CSS à partir de PHP

tw::generate() analyse le balisage pour repérer les noms de classes et ne renvoie que les CSS nécessaires à ces classes. Le deuxième argument accepte le CSS d’entrée : une couleur définie dans @theme devient ainsi un utilitaire.

cn() construit des chaînes de classes et résout les conflits Tailwind : le dernier utilitaire en conflit l’emporte.

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 pur

Sans Node.js ni étape de compilation. Fonctionne avec PHP 8.2+ et les extensions mbstring et ctype standard. Exécutez composer require et c’est parti.

Suit TailwindCSS v4.3.3

Un portage de Tailwind v4.3.3 avec les mêmes utilitaires, variantes et directives. Les différences connues avec Tailwind sont documentées.

Plus de 4 400 tests

La sortie est vérifiée à l’aide des propres suites de tests de TailwindCSS, extraites de son code source TypeScript et réexécutées à chaque push.

Tous les utilitaires et variantes

L’ensemble complet d’utilitaires et toutes les variantes : survol, focus, adaptation à la taille d’écran, mode sombre, requêtes de conteneur et valeurs arbitraires.

Directives CSS

@import, @theme, @apply, @utility, @custom-variant, @layer, @plugin et @source, analysées et résolues en PHP.

Génération à l’exécution

Générez des CSS utilitaires à la volée depuis HTML, le contenu d’une base de données ou des variables de modèle. Aucune étape de compilation n’est nécessaire.

Tout inclus

cn(), merge(), join() et variants() : clsx, tailwind-merge et le portage de CVA vers PHP, sans paquet supplémentaire.

Plugins

@tailwindcss/typography et @tailwindcss/forms portés vers PHP, ainsi qu’une extension PHP API pour créer vos propres utilitaires et composants.

CLI

bin/tailwindphp génère une feuille de style à partir d’un fichier CSS d’entrée avec -i, -o, --watch et --minify.

Inspecter le thème

Lisez directement depuis PHP les valeurs brutes et calculées des propriétés, les couleurs, les points de rupture et les espacements de n’importe quelle classe.

Cache et minificateur

Un minificateur CSS intégré et un cache de fichiers avec TTL accélèrent les compilations répétées et allègent la sortie.

Frameworks WordPress et PHP

Déployez des thèmes et extensions basés sur Tailwind sans Node.js dans la pile. TailwindPHP est une dépendance Composer unique.

Pourquoi TailwindPHP

Un seul environnement d’exécution en production

Un projet PHP qui adopte Tailwind intègre généralement aussi Node.js, une installation de npm et une étape de compilation dans CI et Docker. TailwindPHP compile plutôt le CSS au sein du processus PHP.

CSS pour le contenu connu à l’exécution

Le balisage provenant d’une base de données, d’une saisie utilisateur ou d’une variable de modèle peut être transmis directement à tw::generate(), qui ne renvoie que les CSS nécessaires à ses classes.

Vérifié par rapport à une version figée de Tailwind

Les cas de test sont extraits du code source de Tailwind figé dans le dépôt et exécutés sur la sortie de PHP ; tout écart fait échouer CI. La version 1.7.0 a été vérifiée par rapport à Tailwind v4.3.3 avec 4,427 tests.

CSS par page depuis un seul compilateur

Compilez le thème une fois avec tw::compile(), puis appelez generateExact() pour chaque page. Chaque appel renvoie ce qu’un tw::generate() à froid de cette page produirait, sans analyser à nouveau le thème.

Comparaison avec

Tailwind Labs fournit ses propres méthodes pour générer Tailwind CSS. Voici ce qui différencie TailwindPHP.

TailwindPHP comparé à d'autres outils
Tailwind CLI (@tailwindcss/cli) Idéal pourL’outil en ligne de commande de Tailwind, installé depuis npm. Il analyse vos fichiers HTML, composants et modèles pour repérer les noms de classes, puis écrit les styles correspondants dans un fichier CSS statique. Différence avec TailwindPHPTailwindPHP compile dans PHP sans installation de Node.js ni de npm. Il suit une version fixe Tailwind (v4.3.3 dans 1.7.0) ; son propre benchmark montre que l’original TypeScript est plus rapide pour les opérations de bas niveau.
Tailwind autonome CLI Idéal pourLe Tailwind CLI en tant qu’exécutable autonome, pour les projets qui souhaitent l’utiliser sans installer Node.js. Différence avec TailwindPHPL’exécutable est un binaire distinct qui s’exécute comme étape de compilation. TailwindPHP est un paquet Composer appelé par votre code PHP ; il peut donc aussi générer CSS à la demande à partir du contenu d’une base de données ou de variables de modèle.
Tailwind Play CDN Idéal pourUne balise de script qui exécute Tailwind dans le navigateur, pour l’essayer sans étape de compilation. La documentation de Tailwind indique qu’il est conçu pour le développement et n’est pas destiné à la production. Différence avec TailwindPHPTailwindPHP ne nécessite pas non plus d’étape de compilation, mais génère CSS sur le serveur, en PHP, et le renvoie sous forme de chaîne, par exemple pour l’écrire dans une feuille de style.

Questions et réponses

Réponses courtes issues de la documentation de TailwindPHP.

Installez le paquet avec Composer et suivez le guide de démarrage pour générer votre première feuille de style à partir de PHP.