İçeriğe geç

API

Tüm statik arayüz tek bir sınıfta bulunur: TailwindPHP\tw (dahili Tailwind sınıfının diğer adı). Her yöntem statik olarak çağrılabilir ve inceleme yöntemlerinin tümü (properties, computedProperties, value, computedValue) bu sayfanın sonunda açıklanan girdi biçimlerini kabul eder.

Aynı CSS yapılandırmasıyla tekrarlanan işler için tw::compile() işlevini bir kez çağırın ve döndürülen TailwindCompiler değerini yeniden kullanın.

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

İçeriği ayrıştırır, sınıf adaylarını çıkarır ve oluşturulan CSS değerini döndürür. Varsayılan $css, tema, preflight ve yardımcı programları içeren @import "tailwindcss"; değeridir. Döndürür 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,
]);

Dizi biçimi şu anahtarları kabul eder:

Anahtar Tür Amaç
content string Sınıf adaylarının taranacağı içerik (gerekli)
css string Tailwind yönergelerini içeren girdi CSS (varsayılan @import "tailwindcss";)
minify bool Çıktıyı küçült (varsayılan false)
importPaths string | array | callable | null Tam @import çözümlemesiyle dosya sisteminden CSS yükle — bkz. CSS içe aktarma
cache bool | string Dosya önbelleğini etkinleştir — bkz. Önbelleğe alma
cacheTtl int Önbelleğin saniye cinsinden ömrü

tw::compile()

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

Verilen CSS öğesine bağlı, yeniden kullanılabilir bir TailwindCompiler oluşturur. Ayrıştırma ve tasarım sistemi oluşturma bir kez gerçekleşir; bu nedenle çok sayıda farklı içerik dizesi için CSS üretirken verimli bir seçenektir. Çağrılar boyunca tek bir stil sayfasını biriktirmek için generate() kullanın veya bağımsız sayfa çıktıları için generateExact() kullanın. Döndürür 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 dizisi şunları kabul eder:

Seçenek Tür Amaç
stateCacheFile string Derleyicinin kurulum durumunu istekler ve süreçler arasında saklayan PHP dosyasının yolu; bkz. Derleyici durum önbelleği
polyfills int Üretilecek yedeklerin bit maskesi: TailwindPHP\POLYFILL_AT_PROPERTY (@property değişkenleri için @layer properties varsayılanları) ve TailwindPHP\POLYFILL_COLOR_MIX (color-mix() öncesinde statik renk yedekleri). Varsayılan POLYFILL_ALL; POLYFILL_NONE ikisini de kapatır
importSearchPaths array<string> Dosya sistemindeki @import çözümlemesinde aranacak dizinler
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)

Tüm örnek yöntemlerini görmek için TailwindCompiler örnek yöntemleri bölümüne bakın.

tw::properties()

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

Bir sınıf için CSS özelliklerinin ham değerlerini döndürür; CSS değişkenleri çözümlenmeden kalır. Döndürür array<string, string> (özellik adı → değer).

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

properties() gibi, ancak her CSS değişkeni somut bir değere çözümlenir. Döndürür 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

Tek bir yardımcı sınıfın ham değerini döndürür. Döndürür ?string — yardımcı bulunamazsa null.

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

Tek bir yardımcı sınıfın çözümlenmiş değerini döndürür. Döndürür ?string — yardımcı bulunamazsa null.

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

İçerikten Tailwind sınıf adlarını çıkarır (class ve className özniteliklerini okur). Döndürür 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

Sınıf listelerini class öznitelikleri yerine değişkenlerde oluşturan şablonlar için kaynak kodundaki tek veya çift tırnaklı her dizeden sınıf adı adaylarını çıkarır. Her dize boşluklara göre bölünür ve sınıf adına benzeyen her belirteç tutulur. Döndürür 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);

Düz sözcükler de denetimden geçer (yukarıdaki hello, world); yardımcı adları olmadıkları sürece hiçbir şeye derlenmezler. Sonucu css() öğesine aktarın; çünkü generate() yalnızca class özniteliklerini okur.

tw::cssMap()

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

Mevcut CSS öğelerini Tailwind sınıflarına dönüştürmek için kullanışlı olan, CSS bildirimlerinden yardımcı sınıflara ters eşleme oluşturur. Anahtarlar, değişkenleri çözümlenmiş "property: value" dizeleridir (birden fazla özellik içeren yardımcılar ayrıca "prop: value; prop: value" anahtar alır); değerler sınıf adlarıdır. Döndürür 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'

Eşleme, yaygın yardımcı programların sabit bir listesini kapsar (display, position, flexbox, tipografi, boşluk ve boyut adımları, kenarlıklar, siyah/beyaz/şeffaf renkler ve benzerleri); her yardımcı programı veya tema rengini kapsamaz. $css bağımsız değişkeni bu yardımcı programların çözümlenmiş değerlerini değiştirir, ancak özel tema belirteçleri (ör. --color-brand) yeni girdiler eklemez.

tw::minify()

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

İsteğe bağlı bir CSS dizesini küçültür: yorumları kaldırır, boşlukları daraltır, onaltılık renkleri kısaltır (#ffffff → #fff), sıfır değerlerdeki birimleri kaldırır (0px → 0) ve daha fazlasını yapar. Döndürür string.

TailwindPHP tarafından kendiliğinden oluşturulan CSS için minify seçeneğini (tw::generate(['minify' => true])) veya derleyici yöntemlerindeki $minify parametresini tercih edin. Bu yol, serileştirme sırasında küçültme yapar; daha hızlıdır ve dize tabanlı geçişin birleştirdiği alt öğe :not() seçicilerini korur.

PHP
use TailwindPHP\tw;

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

Optimizasyonların tamamı için Önbelleğe alma ve küçültme bölümüne bakın.

tw::clearCache()

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

Önbelleğe alınmış CSS dosyalarını siler. Varsayılan önbellek dizini için true değerini verin (veya boş bırakın); özel dizin için bir yol dizesi verin. Döndürür int — silinen dosya sayısı.

PHP
use TailwindPHP\tw;

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

Tek başına kullanılabilen bir TailwindPHP\clearCache() işlevi de vardır.

tw::colors()

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

Temadaki tüm renk değerlerini döndürür. Döndürür array<string, string> (renk adı → hesaplanan değer).

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

Temadaki tüm kesme noktası değerlerini döndürür. Döndürür array<string, string> (kesme noktası adı → değer).

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

Temadaki özel boşluk değerlerini döndürür. Döndürür array<string, string> (boşluk adı → değer).

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']

Girdi biçimleri

İnceleme yöntemleri (generate, properties, computedProperties, value, computedValue) üç girdi biçimini kabul eder:

Biçim Örnek
Yalnızca dize tw::generate('<div class="flex">')
Dize + CSS dizesi tw::generate('<div class="flex">', '@import "tailwindcss"; @theme { ... }')
content içeren dizi (+ isteğe bağlı 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 örnek yöntemleri

tw::compile() tarafından döndürülen nesne, derlendiği CSS öğesine bağlı olarak statik sınıfla aynı inceleme arayüzünü sunar. Temayı her çağrıda yeniden ayrıştırmamak için kullanın.

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

Biriktirme veya tam üretim

generate() ve css() biriktirme yapar: her çağrı derleyicinin büyüyen kümesine adaylarını ekler ve döndürülen stil sayfası o ana dek görülen her şeyi kapsar. Bu, şablonlar arasında oluşturulan tek bir stil sayfası için uygundur.

generateExact() ve cssExact() her çağrıda verilen içeriği veya adayları tam olarak derler; çağrılar arasında önceki veriler taşınmaz, ancak derleyicinin ayrıştırılmış tasarım sistemi yeniden kullanılır. Çıktı, aynı içeriğin soğuk bir tw::generate() derlemesinin üreteceği sonuçla aynıdır. Bu, uzun ömürlü tek bir derleyiciden sayfa başına CSS oluşturmanın en hızlı yoludur:

PHP
use TailwindPHP\tw;

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

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

Dört yöntemin tümü, serileştirme sırasında küçültülmüş CSS üreten isteğe bağlı bir $minify bayrağını kabul eder; sonuç tw::generate(['minify' => true]) ile bayt düzeyinde aynıdır ve biçimlendirilmiş çıktıyı sonradan küçültmekten daha az maliyetlidir.

Gelişmiş denetleyiciler

Derlenmiş durumu doğrudan incelemek için:

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

Bunlar dahili yapıları döndürür; içerdikleri bilgiler için Mimari bölümüne bakın.

Daha düşük seviyeli işlevler

tw sınıfı, TailwindPHP içindeki ad alanlarına ayrılmış işlevleri bir araya getirir. Bir TailwindCompiler yerine ham derleme sonucuna ihtiyaç duyduğunuzda kullanışlıdırlar:

İşlev Amaç
compile(string $css, array $options = []): array CSS ayrıştırır ve derler. build (birikimli) ve adayları ve isteğe bağlı bir $minify bayrağını alan buildExact kapanışlarını, ayrıca sources, root, features ve designSystem döndürür. tw::compile() ile aynı seçenekleri kabul eder; ancak stateCacheFile hariçtir
StateCache\compileCssCached(string $css, string $cacheFile, array $options = []): array Kalıcı derleyici durumu önbelleği ile compile()
parseCssState(), finalizeCssState(), compileParsed() Ayrıştırmanın iki aşaması (serileştirilebilir bir durum, ardından bu durumdan yeniden oluşturulan kapanışlar) ve compileCssCached() tarafından kullanılan son birleştirme adımıdır. parseCss() ve compileAst() tek adımlı karşılıklar olmaya devam eder
PHP
use function TailwindPHP\compile;

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

Önbelleğe Alma

tw::generate(), derlenmiş CSS öğelerini diske önbelleğe alabilir; böylece aynı girdiler yeniden derlemeyi atlar.

Seçenek Tür Varsayılan Amaç
cache bool | string false true varsayılan dizini etkinleştirir; bir yol dizgesi, öğeleri bu dizinde önbelleğe alır
cacheTtl int yok Önbellek ömrü (saniye); süresi dolan girdiler yeniden derlenir
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
]);

Önbellek anahtarı içerikten, CSS yapılandırmasından ve minify seçeneğinden türetilir; bu nedenle farklı girdiler farklı önbellek dosyaları oluşturur. Girdileri tw::clearCache() veya bağımsız TailwindPHP\clearCache() işleviyle temizleyin.

Daha kapsamlı rehber için Önbelleğe alma ve küçültme bölümüne bakın.