Darbo pradžia
Diegimas
composer require tailwindphp/tailwindphp
TailwindPHP reikia PHP 8.2 arba naujesnės versijos su plėtiniais ctype ir mbstring, taip pat Composer. Abu plėtiniai pateikiami su dauguma PHP versijų ir oficialiais Docker atvaizdais; composer.json jų dar nenurodo (#11), todėl jų neturinti versija įdiegia paketą, bet vykdymo metu pateikia klaidą. Priklausomybės nuo Node.js nėra, kūrimo etapo nereikia, o jūsų Docker atvaizde ar CI nereikia npm. Tiesiog composer require ir iškvieskite API.
Sugeneruokite pirmąjį CSS
<?php
require __DIR__ . '/vendor/autoload.php';
use TailwindPHP\tw;
$css = tw::generate('<div class="flex items-center p-4 bg-blue-500">Hello</div>');
generate() nuskaito žymėjimą, ištraukia rastus klasių pavadinimus ir pateikia tik toms klasėms reikalingą CSS — nieko daugiau. Jei antro argumento nėra, naudojama numatytoji @import "tailwindcss", įtraukianti temą, Preflight ir utilitų sluoksnį.
Tinkinkite naudodami CSS eilutę
Antruoju argumentu perduokite įvesties CSS eilutę, kad pridėtumėte @theme kintamuosius, pasirinktines taisykles ar direktyvas. Naujos temos reikšmės automatiškai tampa utilitomis:
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)
Visus temų vardų sričių rinkinius rasite skiltyje Tema.
Masyvo įvestis
Jei reikia daugiau nei vienos eilutės, perduokite masyvą su raktais content ir css. Čia apibrėžkite komponentus naudodami @apply:
use TailwindPHP\tw;
$css = tw::generate([
'content' => '<div class="flex p-4 btn">Hello</div>',
'css' => '
@import "tailwindcss";
@theme {
--color-brand: #3b82f6;
--font-heading: "Inter", sans-serif;
}
.btn {
@apply px-4 py-2 rounded-lg bg-brand text-white;
}
',
]);
Masyvo forma taip pat priima minify, importPaths, cache ir cacheTtl. Įvesties formatus rasite skiltyje Naudojimas, o @apply, @theme, @utility ir kitas direktyvas — skiltyje Direktyvos.
Įrašymas į failą
generate() grąžina eilutę, todėl stilių lentelę galima įrašyti viena eilute:
use TailwindPHP\tw;
file_put_contents('dist/styles.css', tw::generate([
'content' => file_get_contents('templates/page.html'),
'css' => '@import "tailwindcss";',
]));
Kai kuriate failus iš katalogo šablonų arba naudojate stebėjimo režimą, rinkitės CLI. Jis naudoja @tailwindcss/cli kūrimo parinktis, tačiau jo turinio nuskaitymas šiuo metu skiriasi nuo Tailwind; puslapyje CLI išvardyta, kas nuskaitoma.
Sumažinkite dydį prieš išleisdami į produkciją
Perduokite minify => true, kad generuojant būtų suspausta išvestis, arba iškvieskite tw::minify() esamai eilutei:
use TailwindPHP\tw;
// Minify during generation
$css = tw::generate([
'content' => '<div class="flex p-4">Hello</div>',
'minify' => true,
]);
// Or minify separately
$css = tw::generate('<div class="flex p-4">Hello</div>');
$minified = tw::minify($css);
Minifikatorius pašalina komentarus, sutraukia tarpus, sutrumpina šešioliktaines spalvas (#ffffff į #fff) ir pašalina vienetus iš nulinių reikšmių (0px į 0). Spartinimo parinktis rasite skiltyje Spartinimas ir minifikavimas.
Tolesni veiksmai
- Naudojimas — generavimo eiga, turinio nuskaitymas ir įvesties formatai.
- Klasių utilitos —
cn(),merge(),join()irvariants(). - Papildiniai — tipografija, formos ir pasirinktiniai papildiniai.
- API — visa
twsąsaja ir daugkartinio naudojimo kompiliatoriaus egzemplioriai. - CLI — failais paremtas kūrimas ir stebėjimas be Node.js.