Utilisation
Le flux de travail principal tient en un seul appel : fournissez à TailwindPHP votre contenu et une configuration CSS facultative ; il renvoie le CSS correspondant aux classes trouvées. Les noms de classes sont extraits du balisage, compilés selon le thème résolu, et le résultat ne contient que les utilitaires que vous utilisez réellement.
use TailwindPHP\tw;
$css = tw::generate('<div class="flex items-center p-4 bg-blue-500">Hello</div>');
Sans deuxième argument, generate() utilise un @import "tailwindcss" par défaut (thème + Preflight + utilitaires). Passez une chaîne CSS ou un tableau pour le personnaliser.
Analyse du contenu
TailwindPHP trouve les noms de classes en lisant les attributs class et className de votre contenu. Pour examiner les éléments extraits, utilisez tw::extractCandidates() :
use TailwindPHP\tw;
tw::extractCandidates('<div class="flex p-4" className="bg-blue-500">');
// ['flex', 'p-4', 'bg-blue-500']
Les attributs class et className sont tous deux analysés, et la liste renvoyée est dédupliquée. Les candidats arbitraires (comme [mask-type:luminance] ou bg-[#1da1f2]) sont extraits de la même manière et compilés s’ils sont valides. Tout ce qui apparaît ici est exactement ce que generate() compilera.
Formats d'entrée
Chaque méthode statique accepte les trois mêmes formes d’entrée :
| Format | Signature | Cas d’utilisation |
|---|---|---|
| Chaîne seule | tw::generate($content) |
Thème par défaut, sans personnalisation. |
| Chaîne + chaîne CSS | tw::generate($content, $css) |
Ajustements rapides du thème ou directives intégrées. |
| Tableau | tw::generate(['content' => ..., 'css' => ...]) |
Pour utiliser minify, importPaths ou cache. |
use TailwindPHP\tw;
// Format 1: String only
tw::generate('<div class="flex">');
// Format 2: String + CSS string
tw::generate('<div class="flex">', '@import "tailwindcss"; @theme { --color-brand: #3b82f6; }');
// Format 3: Array with content, css, and options
tw::generate([
'content' => '<div class="flex p-4">',
'css' => '@import "tailwindcss";',
'minify' => true,
]);
La forme tableau est la seule à accepter des options. En plus de css et de minify, elle accepte importPaths (voir Imports), cache et cacheTtl (voir Mise en cache).
Compilateur réutilisable
Compiler de nombreux fragments avec la même configuration — une boucle de requêtes, un lot de modèles ou une bibliothèque de composants — est plus efficace avec une seule instance du compilateur. tw::compile() résout le thème et le système de conception une seule fois, puis les réutilise :
use TailwindPHP\tw;
$compiler = tw::compile('@import "tailwindcss"; @theme { --color-brand: #3b82f6; }');
$css = $compiler->generate('<div class="flex p-4 bg-brand">');
$candidates = $compiler->extractCandidates('<div class="flex p-4 bg-brand">');
$minified = $compiler->minify($css);
Le compilateur permet aussi d’inspecter les propriétés (properties(), computedProperties(), value(), computedValue()) et d’accéder au thème (colors(), breakpoints(), spacing()). Consultez l’API complète pour découvrir toutes les méthodes.
Configuration du CSS d’entrée
La majeure partie des fonctionnalités de TailwindPHP se trouve dans la chaîne CSS que vous transmettez comme configuration. Consultez :
- Thème —
@themevariables et espaces de noms. - Directives —
@apply,@utility,@layer,@custom-variant. - Imports —
@import, modules virtuels,importPathset Preflight. - @source — définissez les fichiers et les classes analysés.