Vai al contenuto

TailwindPHP

Un port di TailwindCSS 4.x per PHP. Genera Tailwind utility CSS in PHP, senza Node.js né passaggio di compilazione. Include cn(), tailwind-merge, CVA, i plugin per tipografia e moduli e un CLI.

Terminale
composer require tailwindphp/tailwindphp

Ultima versione v1.7.0 MIT PHP 8.2+

Nella pratica

Passa il markup e, facoltativamente, l'input CSS in un'unica chiamata a PHP per ottenere un foglio di stile.

Genera CSS da PHP

tw::generate() analizza il markup alla ricerca dei nomi delle classi e restituisce solo le CSS necessarie a quelle classi. Il secondo argomento accetta l'input CSS, così un colore definito in @theme diventa un'utilità.

cn() crea stringhe di classi e risolve i conflitti tra Tailwind, quindi prevale l'ultima utilità in conflitto.

PHP
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)

PHP puro

Nessun Node.js né passaggio di compilazione. Funziona con PHP 8.2+ e le estensioni standard mbstring e ctype. Esegui composer require e sei pronto.

Segue TailwindCSS v4.3.3

Un port di Tailwind v4.3.3 con le stesse utilità, varianti e direttive. Le differenze note rispetto a Tailwind sono documentate.

4.400+ test

L’output viene verificato con le suite di test originali di TailwindCSS, estratte dal suo codice sorgente TypeScript ed eseguite di nuovo a ogni push.

Ogni utilità e variante

L'intero set di utilità e tutte le varianti: hover, focus, responsive, modalità scura, query container e valori arbitrari.

Direttive CSS

@import, @theme, @apply, @utility, @custom-variant, @layer, @plugin e @source, analizzati e risolti in PHP.

Generazione in fase di esecuzione

Genera CSS di utilità al volo da HTML, contenuti del database o variabili dei modelli. Non serve alcun passaggio di compilazione.

Tutto incluso

cn(), merge(), join() e variants(): clsx, tailwind-merge e il port di CVA per PHP, senza pacchetti aggiuntivi.

Plugin

@tailwindcss/typography e @tailwindcss/forms portati su PHP, con l'aggiunta di un plugin PHPAPI per creare utility e componenti personalizzati.

CLI

bin/tailwindphp crea un foglio di stile da un file CSS di input con -i, -o, --watch e --minify.

Esplora il tema

Leggi i valori grezzi e calcolati delle proprietà, i colori, i breakpoint e la spaziatura di qualsiasi classe direttamente da PHP.

Cache e minificatore

Un minificatore CSS integrato e una cache su file con TTL velocizzano le compilazioni ripetute e mantengono snello l'output.

Framework WordPress e PHP

Distribuisci temi e plugin basati su Tailwind senza Node.js nello stack. TailwindPHP è un'unica dipendenza Composer.

Perché TailwindPHP

Un solo runtime in produzione

Un progetto PHP che adotta Tailwind di solito introduce anche Node.js, un'installazione npm e un passaggio di compilazione in CI e Docker. Invece, TailwindPHP compila CSS all'interno del processo PHP.

CSS per contenuti noti in fase di esecuzione

Il markup proveniente da un database, dall'input dell'utente o da una variabile di modello può essere passato direttamente a tw::generate(), che restituisce solo le CSS necessarie alle sue classi.

Verificato con una versione fissata di Tailwind

I casi di test vengono estratti dal codice sorgente di Tailwind fissato nel repository ed eseguiti sull'output di PHP, quindi ogni divergenza fa fallire CI. La release 1.7.0 è stata verificata con Tailwind v4.3.3 e 4,427 test.

CSS per pagina da un solo compilatore

Compila il tema una volta con tw::compile(), poi chiama generateExact() per ogni pagina. Ogni chiamata restituisce ciò che produrrebbe una tw::generate() della pagina, senza analizzare di nuovo il tema.

A confronto con

Tailwind Labs offre i propri metodi per creare Tailwind CSS. Ecco in cosa differisce TailwindPHP.

TailwindPHP a confronto con altri strumenti
Tailwind CLI (@tailwindcss/cli) Ideale perIl proprio strumento da riga di comando di Tailwind, installato da npm. Analizza i file HTML, i componenti e i modelli alla ricerca dei nomi delle classi e scrive gli stili corrispondenti in un file CSS statico. Differenze rispetto a TailwindPHPTailwindPHP compila all'interno di PHP senza installare Node.js o npm. Segue una release fissa di Tailwind (v4.3.3 in 1.7.0); il suo benchmark mostra che l'originale TypeScript esegue più velocemente le operazioni di basso livello.
Tailwind autonomo CLI Ideale perTailwind CLI come eseguibile autonomo, per i progetti che vogliono usarlo senza installare Node.js. Differenze rispetto a TailwindPHPL'eseguibile è un binario separato che viene eseguito come passaggio di compilazione. TailwindPHP è un pacchetto Composer richiamato dal codice PHP, quindi può anche generare CSS al momento della richiesta a partire da contenuti del database o variabili dei modelli.
Tailwind Play CDN Ideale perUn tag script che esegue Tailwind nel browser, per provarlo senza passaggi di compilazione. La documentazione di Tailwind dichiara che è progettato per lo sviluppo e non destinato alla produzione. Differenze rispetto a TailwindPHPAnche TailwindPHP non richiede passaggi di compilazione, ma genera CSS in PHP sul server e lo restituisce come stringa, per esempio per scriverlo in un foglio di stile.

Domande e risposte

Risposte brevi dalla documentazione di TailwindPHP.

Installa il pacchetto con Composer e segui la guida introduttiva per generare il tuo primo foglio di stile da PHP.