Siirry sisältöön

API

Koko staattinen rajapinta sijaitsee yhdellä luokalla: TailwindPHP\tw (sisäisen Tailwind-luokan alias). Kaikkia metodeja voi kutsua staattisesti, ja tarkastusmetodit (properties, computedProperties, value, computedValue) hyväksyvät syötemuodot, jotka kuvataan tämän sivun lopussa.

Jos käsittelet samaa CSS-määritystä toistuvasti, kutsu tw::compile() kerran ja käytä palautettua TailwindCompiler uudelleen.

PHP
use TailwindPHP\tw;

$css = tw::generate('<div class="flex items-center p-4 bg-blue-500">');

tw::generate()

PHP
public static function generate(string|array $input, string $css = '@import "tailwindcss";'): string

Jäsentää sisällön, poimii luokkaehdokkaat ja palauttaa luodun CSSn. Oletusarvoinen $css on @import "tailwindcss";, joka ottaa mukaan teeman, esivalmistelut ja apufunktiot. Palauttaa arvon string.

PHP
use TailwindPHP\tw;

// String input
$css = tw::generate('<div class="flex p-4">');

// String with custom CSS
$css = tw::generate('<div class="flex bg-brand">', '@import "tailwindcss"; @theme { --color-brand: #3b82f6; }');

// Array input with options
$css = tw::generate([
    'content' => '<div class="flex p-4">',
    'css' => '@import "tailwindcss";',
    'minify' => true,
]);

Taulukkomuodossa voi käyttää näitä avaimia:

Avain Tyyppi Tarkoitus
content string Sisältö, josta luokkaehdokkaita etsitään (pakollinen)
css string Syöte-CSS, jossa on Tailwind-direktiivit (oletus @import "tailwindcss";)
minify bool Pienennä tuloste (oletus false)
importPaths string | array | callable | null Lataa CSS tiedostojärjestelmästä ja ratkaise @import kokonaan — katso CSSn tuonti
cache bool | string Ota tiedostovälimuisti käyttöön — katso Välimuisti
cacheTtl int Välimuistin kesto sekunteina

tw::compile()

PHP
public static function compile(string $css = '@import "tailwindcss";', array $options = []): TailwindCompiler

Luo uudelleenkäytettävän TailwindCompilern, joka on sidottu annettuun CSSeen. Jäsennys ja suunnittelujärjestelmän muodostus tehdään kerran, joten tämä on tehokas valinta, kun luot CSSa monista eri sisältömerkkijonoista. Käytä generate()a kootaksesi yhden tyylitiedoston useiden kutsujen aikana tai generateExact() sivukohtaiseen itsenäiseen tulosteeseen. Palauttaa arvon TailwindCompiler.

PHP
use TailwindPHP\tw;

// Default Tailwind
$compiler = tw::compile();

// Custom CSS
$compiler = tw::compile('@import "tailwindcss"; @theme { --color-brand: #3b82f6; }');

$css = $compiler->generate('<div class="flex p-4 bg-brand">');

$options-taulukko hyväksyy seuraavat arvot:

Valinta Tyyppi Tarkoitus
stateCacheFile string PHP-tiedoston polku; tiedosto säilyttää kääntäjän alustustilan pyyntöjen ja prosessien välillä — katso Kääntäjän tilavälimuisti
polyfills int Määrittää tuotettavat varaarvot bittimaskina: TailwindPHP\POLYFILL_AT_PROPERTY (@layer properties oletukset @property-muuttujille) ja TailwindPHP\POLYFILL_COLOR_MIX (staattiset värien varaarvot ennen color-mix()a). Oletus POLYFILL_ALL; POLYFILL_NONE poistaa molemmat käytöstä
importSearchPaths array<string> Hakemistot, joista @import etsitään tiedostojärjestelmästä
PHP
use TailwindPHP\tw;
use const TailwindPHP\POLYFILL_NONE;

// Cache construction state on disk, reused by later requests
$compiler = tw::compile('@import "tailwindcss";', [
    'stateCacheFile' => __DIR__ . '/cache/tailwind-state.php',
]);

// Plain output without fallbacks, e.g. for CSS modules
$compiler = tw::compile('@import "tailwindcss/utilities.css";', [
    'polyfills' => POLYFILL_NONE,
]);
$compiler->generate('<div class="bg-red-500/50">');
// .bg-red-500\/50 { background-color: color-mix(in oklab, var(--color-red-500) 50%, transparent); }
// (with the default, a `#fb2c3680` fallback comes first and color-mix() moves into @supports)

Katso täydellinen instanssirajapinta kohdasta TailwindCompiler-instanssimetodit.

tw::properties()

PHP
public static function properties(string|array $input, string $css = '@import "tailwindcss";'): array

Palauttaa luokan CSS-ominaisuudet sellaisinaan, jolloin CSS-muuttujat jäävät ratkaisematta. Palauttaa arvon array<string, string> (ominaisuuden nimi → arvo).

PHP
use TailwindPHP\tw;

tw::properties('p-4');
// ['padding' => 'calc(var(--spacing) * 4)']

tw::properties(['flex', 'items-center', 'p-4']);
// ['display' => 'flex', 'align-items' => 'center', 'padding' => 'calc(var(--spacing) * 4)']

tw::computedProperties()

PHP
public static function computedProperties(string|array $input, string $css = '@import "tailwindcss";'): array

Kuten properties(), mutta kaikki CSS-muuttujat ratkaistaan konkreettisiksi arvoiksi. Palauttaa arvon array<string, string>.

PHP
use TailwindPHP\tw;

tw::computedProperties('p-4');
// ['padding' => '1rem']

tw::computedProperties('text-blue-500');
// ['color' => 'oklch(62.3% .214 259.815)']

tw::computedProperties(['flex', 'items-center', 'gap-4']);
// ['display' => 'flex', 'align-items' => 'center', 'gap' => '1rem']

tw::value()

PHP
public static function value(string|array $input, string $css = '@import "tailwindcss";'): ?string

Palauttaa yhden apuluokan raakaversion arvon. Palauttaa ?string — null, jos apuluokkaa ei löydy.

PHP
use TailwindPHP\tw;

tw::value('p-4');           // 'calc(var(--spacing) * 4)'
tw::value('text-blue-500'); // 'var(--color-blue-500)'

tw::computedValue()

PHP
public static function computedValue(string|array $input, string $css = '@import "tailwindcss";'): ?string

Palauttaa yhden apuluokan ratkaistun arvon. Palauttaa ?string — null, jos apuluokkaa ei löydy.

PHP
use TailwindPHP\tw;

tw::computedValue('p-4');           // '1rem'
tw::computedValue('text-blue-500'); // 'oklch(62.3% .214 259.815)'
tw::computedValue('gap-4');         // '1rem'

tw::extractCandidates()

PHP
public static function extractCandidates(string $html): array

Poimii sisällöstä Tailwind-luokkien nimet (lukee sekä class- että className-attribuutit). Palauttaa arvon array<string>.

PHP
use TailwindPHP\tw;

tw::extractCandidates('<div class="flex p-4" className="bg-blue-500">');
// ['flex', 'p-4', 'bg-blue-500']

tw::extractCandidatesFromStrings()

PHP
public static function extractCandidatesFromStrings(string $source): array

Poimii lähdekoodista luokkaehdokkaat jokaisesta yksi- tai kaksinkertaisiin lainausmerkkeihin suljetusta merkkijonosta. Tarkoitettu malleille, jotka kokoavat luokkalistoja muuttujiin class-attribuuttien sijaan. Jokainen merkkijono jaetaan välilyöntien kohdalta, ja kaikki luokkanimiltä näyttävät osat säilytetään. Palauttaa arvon array<string>.

PHP
use TailwindPHP\tw;

$classes = tw::extractCandidatesFromStrings('<?php $wrap = \'p-4 sm:flex\'; $title = "hello world"; ?>');
// ['p-4', 'sm:flex', 'hello', 'world']

$css = tw::compile()->css($classes);

Myös tavalliset sanat läpäisevät tarkistuksen (yllä hello, world); ne eivät tuota mitään, elleivät ne satu olemaan apuluokkien nimiä. Välitä tulos kohteeseen css(), sillä generate() lukee vain class-attribuutteja.

tw::cssMap()

PHP
public static function cssMap(string $css = '@import "tailwindcss";'): array

Muodostaa käänteiskartan CSS-määrityksistä apuluokkiin; hyödyllinen, kun olemassa olevia CSS-määrityksiä muunnetaan Tailwind-luokiksi. Avaimet ovat "property: value"-merkkijonoja, joiden muuttujat on ratkaistu (moniominaisuuksiset apuluokat saavat myös "prop: value; prop: value"-avaimen); arvot ovat luokkanimiä. Palauttaa arvon array<string, string>.

PHP
use TailwindPHP\tw;

$map = tw::cssMap();
$map['display: flex'];       // 'flex'
$map['padding: 1rem'];       // 'p-4'
$map['text-align: center'];  // 'text-center'
$map['color: #fff'];         // 'text-white'

Kartta kattaa kiinteän luettelon yleisiä apuluokkia (näyttö, sijainti, flexbox, typografia, välistys- ja kokovaiheet, reunukset, mustat, valkoiset ja läpinäkyvät värit sekä vastaavat), mutta ei kaikkia apuluokkia tai teeman värejä. $css-argumentti muuttaa näiden apuluokkien ratkaistuja arvoja, mutta mukautetut teematunnisteet, kuten --color-brand, eivät lisää uusia kohteita.

tw::minify()

PHP
public static function minify(string $css): string

Pienentää mielivaltaisen CSS-merkkijonon: poistaa kommentit, tiivistää välilyönnit, lyhentää heksavärit (#ffffff → #fff), poistaa yksiköt nolla-arvoista (0px → 0) ja muuta. Palauttaa arvon string.

Jos käsittelet kohdetta CSS, jonka TailwindPHP luo itse, suosi valintaa minify (tw::generate(['minify' => true])) tai parametria $minify kääntäjämetodeissa. Tämä polku pienentää tulosteen sarjoituksen aikana, mikä on nopeampaa ja säilyttää sisäkkäiset :not()-valitsimet, jotka merkkijonopohjainen käsittely litistää.

PHP
use TailwindPHP\tw;

$css = tw::generate('<div class="flex p-4">');
$minified = tw::minify($css);

Katso kaikki optimoinnit kohdasta Välimuisti ja pienennys.

tw::clearCache()

PHP
public static function clearCache(string|bool|null $cache = true): int

Poistaa välimuistissa olevat CSS-tiedostot. Määritä true tai jätä se pois käyttääksesi oletusvälimuistihakemistoa; mukautetun hakemiston voit määrittää antamalla polkumerkkijonon. Palauttaa arvon int — poistettujen tiedostojen määrän.

PHP
use TailwindPHP\tw;

tw::clearCache();                  // default directory
tw::clearCache('/path/to/cache');  // custom directory

Käytettävissä on myös itsenäinen TailwindPHP\clearCache()-funktio.

tw::colors()

PHP
public static function colors(string $css = '@import "tailwindcss";'): array

Palauttaa kaikki teeman väriarvot. Palauttaa arvon array<string, string> (värin nimi → laskettu arvo).

PHP
use TailwindPHP\tw;

tw::colors();
// ['red-500' => 'oklch(63.7% .237 25.331)', 'blue-500' => 'oklch(62.3% .214 259.815)', ...]

// With a custom theme
tw::colors('@import "tailwindcss"; @theme { --color-brand: #3b82f6; }');
// [..., 'brand' => '#3b82f6']

tw::breakpoints()

PHP
public static function breakpoints(string $css = '@import "tailwindcss";'): array

Palauttaa kaikki teeman taitearvot. Palauttaa arvon array<string, string> (taitekohdan nimi → arvo).

PHP
use TailwindPHP\tw;

tw::breakpoints();
// ['sm' => '40rem', 'md' => '48rem', 'lg' => '64rem', 'xl' => '80rem', '2xl' => '96rem']

tw::breakpoints('@import "tailwindcss"; @theme { --breakpoint-xs: 20rem; }');
// ['sm' => '40rem', ..., '2xl' => '96rem', 'xs' => '20rem']

tw::spacing()

PHP
public static function spacing(string $css = '@import "tailwindcss";'): array

Palauttaa teeman mukautetut välistysarvot. Palauttaa arvon array<string, string> (välistyksen nimi → arvo).

PHP
use TailwindPHP\tw;

// TailwindCSS 4 uses a single --spacing base value rather than a --spacing-* namespace.
// This returns any custom --spacing-* values defined in the theme.
tw::spacing('@import "tailwindcss"; @theme { --spacing-huge: 10rem; }');
// ['huge' => '10rem']

Syötemuodot

Tarkastusmetodit (generate, properties, computedProperties, value, computedValue) hyväksyvät kolme syötemuotoa:

Muoto Esimerkki
Pelkkä merkkijono tw::generate('<div class="flex">')
Merkkijono + CSS-merkkijono tw::generate('<div class="flex">', '@import "tailwindcss"; @theme { ... }')
Taulukko, jossa content (+ valinnainen css) tw::generate(['content' => '<div class="flex">', 'css' => '@import "tailwindcss";'])
PHP
use TailwindPHP\tw;

// Format 1: string only
tw::properties('p-4');

// Format 2: string + CSS
tw::properties('bg-brand', '@import "tailwindcss"; @theme { --color-brand: #3b82f6; }');

// Format 3: array
tw::properties(['content' => 'p-4', 'css' => '@import "tailwindcss";']);

TailwindCompiler-instanssimetodit

tw::compile() palauttava olio tarjoaa samat tarkastusmetodit kuin staattinen luokka ja käyttää sitä CSSa, jolla se käännettiin. Sen avulla vältät teeman uudelleenjäsennyksen jokaisella kutsulla.

PHP
public function generate(string $content, bool $minify = false): string
public function css(array $candidates, bool $minify = false): string
public function generateExact(string $content, bool $minify = false): string
public function cssExact(array $candidates, bool $minify = false): string
public function extractCandidates(string $html): array
public function extractCandidatesFromStrings(string $source): array
public function properties(string|array $utilities): array
public function computedProperties(string|array $utilities): array
public function value(string $utility): ?string
public function computedValue(string $utility): ?string
public function minify(string $css): string
public function colors(): array
public function breakpoints(): array
public function spacing(): array
PHP
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">');

$compiler->properties('bg-brand');          // ['background-color' => 'var(--color-brand)']
$compiler->computedProperties('bg-brand');   // ['background-color' => '#3b82f6']
$compiler->value('bg-brand');                // 'var(--color-brand)'
$compiler->computedValue('bg-brand');        // '#3b82f6'

$minified = $compiler->minify($css);

$compiler->colors();        // all color values
$compiler->breakpoints();   // all breakpoint values
$compiler->spacing();       // custom spacing values

Kumulatiivinen ja täsmällinen generointi

generate() ja css() ovat kumulatiivisia: jokainen kutsu lisää ehdokkaansa kääntäjän kasvavaan joukkoon, ja palautettu tyylitiedosto kattaa kaikki siihen mennessä nähdyt ehdokkaat. Tämä sopii yhteen tyylitiedostoon, jota kasvatetaan useiden mallien perusteella.

generateExact() ja cssExact() kääntävät kullakin kutsulla täsmälleen annetun sisällön tai ehdokkaat ilman aiempien kutsujen vaikutusta, mutta käyttävät silti uudelleen kääntäjän jäsennettyä suunnittelujärjestelmää. Tuloste vastaa sitä, minkä saman sisällön kylmä tw::generate() tuottaisi. Tämä on nopein tapa luoda sivukohtaista CSSa yhdellä pitkäikäisellä kääntäjällä:

PHP
use TailwindPHP\tw;

$compiler = tw::compile($themeCss);

foreach ($pages as $slug => $html) {
    $perPageCss[$slug] = $compiler->generateExact($html, true);
}

Kaikki neljä metodia hyväksyvät valinnaisen $minify-lipun, joka tuottaa pienennetyn CSSn sarjoituksen yhteydessä; tulos on tavutasolla identtinen kohteen tw::generate(['minify' => true]) kanssa ja edullisempi kuin kauniisti muotoillun tulosteen pienentäminen jälkikäteen.

Edistyneet tarkastajat

Käännetyn tilan suoraa tarkastelua varten:

PHP
public function getTheme(): Theme
public function getDesignSystem(): object
public function getCompiled(): array
PHP
$compiler->getTheme();        // Theme object with resolved values
$compiler->getDesignSystem(); // Design system: utilities, variants, etc.
$compiler->getCompiled();     // Raw compiled state array

Nämä palauttavat sisäisiä rakenteita; katso niiden sisältö kohdasta Arkkitehtuuri.

Alemman tason funktiot

Luokka tw käärii joukon nimiavaruuteen TailwindPHP sijoitettuja funktioita. Niistä on hyötyä, kun tarvitset raakamuotoisen käännöstuloksen TailwindCompilern sijaan:

Funktio Tarkoitus
compile(string $css, array $options = []): array Jäsentää ja kääntää kohteen CSS. Palauttaa kumulatiiviset build- ja ehdokkaita sekä valinnaisen $minify-lipun hyväksyvät buildExact-sulkeumat sekä kohteet sources, root, features ja designSystem. Hyväksyy samat valinnat kuin tw::compile(), pois lukien stateCacheFile
StateCache\compileCssCached(string $css, string $cacheFile, array $options = []): array compile() pysyvällä kääntäjän tilavälimuistilla
parseCssState(), finalizeCssState(), compileParsed() Jäsennyksen kaksi vaihetta (sarjoitettava tila, jonka jälkeen siitä uudelleen muodostetut sulkeumat) sekä lopullinen kokoamisvaihe, jota compileCssCached() käyttää. parseCss() ja compileAst() vastaavat edelleen yhden vaiheen toteutuksia
PHP
use function TailwindPHP\compile;

$compiled = compile('@import "tailwindcss";');
$css = $compiled['build'](['flex', 'p-4'], true); // minified

Välimuisti

tw::generate() voi tallentaa käännetyt CSSt levylle, jotta samojen syötteiden uudelleenkääntäminen voidaan ohittaa.

Valinta Tyyppi Oletus Tarkoitus
cache bool | string false true ottaa käyttöön oletushakemiston; polkumerkkijono määrittää tallennushakemiston
cacheTtl int ei mitään Välimuistin kesto sekunteina; vanhentuneet merkinnät käännetään uudelleen
PHP
use TailwindPHP\tw;

// Default directory: sys_get_temp_dir() . '/tailwindphp'
$css = tw::generate([
    'content' => '<div class="flex p-4">',
    'cache' => true,
]);

// Custom directory + TTL
$css = tw::generate([
    'content' => '<div class="flex p-4">',
    'cache' => '/path/to/cache',
    'cacheTtl' => 3600, // expire after 1 hour
]);

Välimuistiavain johdetaan sisällöstä, CSS-määrityksestä ja pienennys-valinnasta, joten eri syötteet tuottavat eri välimuistitiedostot. Tyhjennä merkinnät kohteella tw::clearCache() tai itsenäisellä TailwindPHP\clearCache()-funktiolla.

Katso tarkempi opas kohdasta Välimuisti ja pienennys.