TailwindPHP
TailwindPHP è un port 1:1 di TailwindCSS 4.x per PHP. Analizza il vostro CSS, cerca i nomi delle classi nel markup e genera il CSS di utility prodotto da TailwindCSS v4.3.3, interamente in PHP, senza Node.js né passaggi di compilazione.
- PHP puro: viene distribuito come pacchetto Composer e funziona su PHP 8.2+ con le estensioni standard
ctypeembstring. Nienteexec, FFI o strumenti di compilazione nativa. - Verificato con TailwindCSS: utility, varianti, direttive e funzioni CSS seguono TailwindCSS v4.3.3. L'output è verificato con le suite di test di Tailwind, estratte dal codice sorgente TypeScript e rieseguite a ogni push (oltre 4,400 test). Le differenze note (alcuni dettagli di serializzazione senza effetti sulla cascata, oltre a problemi ancora aperti) sono elencate in Compatibilità e aggiornamento.
- L'intero set di funzionalità: tutto il set di utility TailwindCSS v4.3.3 (inclusi
container, le utility per le barre di scorrimento,zoom-*etab-*), tutte le varianti (hover, focus, responsive, modalità scura, query dei contenitori e valori arbitrari) e tutte le direttive:@import,@theme,@apply,@utility,@variant,@custom-variant,@layer,@plugine@source. - Tutto incluso:
cn(),merge(),join()evariants()includono port PHP di clsx, tailwind-merge e CVA, così le librerie complementari usate in ogni progetto Tailwind sono già disponibili. - Plugin:
@tailwindcss/typographye@tailwindcss/formssono portati integralmente, e il plugin PHP API vi permette di crearne di vostri.
Perché esiste TailwindPHP
TailwindCSS è scritto in TypeScript ed è eseguito su Node.js. È un requisito imprescindibile per qualsiasi progetto PHP che voglia usare Tailwind: un secondo runtime, un'installazione npm e un passaggio di compilazione nella CI e in Docker. Per molte applicazioni PHP, è un vincolo che si preferirebbe evitare.
TailwindPHP lo elimina. Il vostro codice PHP viene compilato direttamente in Tailwind CSS usando solo la libreria standard. Questo consente di realizzare alcune cose difficili o impossibili con la toolchain JavaScript:
- Framework WordPress e PHP: distribuite temi e plugin basati su Tailwind senza chiedere agli utenti di installare Node.js o avviare una compilazione. Vi basta
composer requiree il gioco è fatto. Consultate TailwindWP, un plugin di esempio WordPress che genera CSS per l'editor a blocchi con TailwindPHP. - CSS in fase di esecuzione: generate CSS di utility al volo a partire da input utente, contenuti del database o variabili del template, invece che in fase di compilazione.
- Distribuzione più semplice: niente Node.js in produzione, passaggi di compilazione nella CI o npm nell'immagine Docker.
È la stessa idea che scssphp ha portato in SCSS: il compilatore completo, in PHP.
Cosa fa
- Compila il set di utility TailwindCSS v4.3.3, le varianti e i valori arbitrari a partire dai nomi delle classi trovati nei tuoi contenuti.
- Risolve l'intera gamma di direttive:
@import(inclusi moduli virtuali cometailwindcssetailwindcss/utilities, e importazionireference),@theme,@apply,@utility,@variant,@custom-variant,@layer,@plugine@source. - Implementa le funzioni CSS di Tailwind —
theme(),--theme(),--spacing()e--alpha()— oltre alla conversione dacolor-mix()aoklab()e alle trasformazioni CSS delegate da TailwindCSS a LightningCSS. - Risolve
@importdal filesystem con importazioni annidate, deduplicazione e resolver personalizzati, oppure da stringhe CSS inline. - Include Preflight (il reset di base di Tailwind), il supporto ai prefissi, fallback
@property, prefissi vendor e accorpamento dei keyframe. - Include
cn(),merge(),join()evariants()/compose()per costruire nomi di classe, risolvere conflitti e gestire varianti dei componenti. - Include i plugin per tipografia e moduli, oltre a un API plugin (
addUtilities,matchUtilities,addComponents,addVariant,theme, …) per i plugin personalizzati. - Fornisce un CLI (
bin/tailwindphp) con le opzioni di build@tailwindcss/cli, oltre alla cache dell'output basata sui file, a una cache persistente dello stato del compilatore e a un minificatore CSS per la produzione.
Cosa non è
TailwindPHP è un compilatore CSS, non una toolchain per editor. Esclude deliberatamente gli strumenti rivolti all'IDE dell'ecosistema Tailwind — IntelliSense, completamento automatico, ordinamento delle classi e mappe sorgente — perché sono funzionalità dell'editor, non fanno parte della generazione di CSS. Rientra nell'ambito tutto ciò che produce CSS; ne è escluso tutto ciò che alimenta il tuo editor.
Da dove iniziare
- Per iniziare — installa il pacchetto e genera il tuo primo foglio di stile.
- Utilizzo — analizza i contenuti, personalizza il tema e usa le direttive di Tailwind.
- Utility di classe —
cn(),merge(),join()evariants(). - Plugin — tipografia, moduli e come crearne uno.
- API — l'intera gamma
twe l'istanzaTailwindCompiler. - CLI —
bin/tailwindphpper build basate su file e modalità watch. - Avanzate — architettura, cache, prestazioni e note sulla compatibilità.