Употреба
Основният работен процес се свежда до едно извикване: подайте на TailwindPHP съдържанието си и незадължителна конфигурация CSS, а то връща CSS за откритите класове. Имената на класовете се извличат от маркировката, компилират се спрямо разрешената тема и резултатът съдържа само помощните класове, които действително използвате.
use TailwindPHP\tw;
$css = tw::generate('<div class="flex items-center p-4 bg-blue-500">Hello</div>');
Без втори аргумент generate() използва конфигурация @import "tailwindcss" по подразбиране (тема + Preflight + помощни класове). Подайте низ CSS или масив, за да я персонализирате.
Сканиране на съдържание
TailwindPHP открива имената на класовете, като прочита атрибутите class и className в съдържанието ви. За да видите какво се извлича, използвайте tw::extractCandidates():
use TailwindPHP\tw;
tw::extractCandidates('<div class="flex p-4" className="bg-blue-500">');
// ['flex', 'p-4', 'bg-blue-500']
Сканират се атрибутите class и className, а върнатият списък не съдържа дубликати. Произволни кандидати, като [mask-type:luminance] или bg-[#1da1f2], се извличат по същия начин и се компилират, ако са валидни. Всичко, което се появява тук, е точно това, което generate() ще компилира.
Формати на входа
Всеки статичен метод приема един от същите три вида вход:
| Формат | Сигнатура | Кога да го използвате |
|---|---|---|
| Само низ | tw::generate($content) |
Тема по подразбиране, без персонализиране. |
| Низ + низ CSS | tw::generate($content, $css) |
Бързи корекции на темата или директиви в самия низ. |
| Масив | tw::generate(['content' => ..., 'css' => ...]) |
Когато са ви нужни minify, importPaths или 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,
]);
Само формата с масив приема опции. Освен css и minify тя приема importPaths (вижте Imports), cache и cacheTtl (вижте Caching).
Компилатор за повторна употреба
Компилирането на много фрагменти с една и съща конфигурация — цикъл от заявки, пакет шаблони или библиотека с компоненти — е по-ефективно с един екземпляр на компилатора. tw::compile() разрешава темата и системата за дизайн веднъж и след това ги използва повторно:
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);
Компилаторът предлага и проверка на свойства (properties(), computedProperties(), value(), computedValue()) и достъп до темата (colors(), breakpoints(), spacing()). Вижте пълната API за всички методи.
Конфигуриране на входа CSS
Повечето възможности на TailwindPHP се съдържат в низа CSS, който подавате като конфигурация. Продължете с:
- Theme — променливи
@themeи пространства от имена. - Directives —
@apply,@utility,@layer,@custom-variant. - Imports —
@import, виртуални модули,importPathsи Preflight. - @source — контролирайте кои файлове и класове се сканират.