Vai al contenuto

Avanzate

TailwindPHP è un port 1:1 di TailwindCSS 4.x in puro PHP. Il principio guida è la fedeltà: il codice replica il progetto originale TypeScript file per file, con gli stessi nomi e la stessa organizzazione, così che ogni comportamento in TailwindCSS abbia una corrispondenza evidente in PHP e le modifiche upstream possano essere seguite senza supposizioni.

Tutto ciò che non fa parte del port di TailwindCSS si trova in un unico posto chiaramente indicato: src/_tailwindphp/. Questa directory contiene gli helper specifici di PHP: una reimplementazione delle trasformazioni Rust lightningcss (LightningCss.php), il minimizzatore CSS (CssMinifier.php) e i port delle librerie complementari (lib/: clsx, tailwind-merge, CVA) nello spazio dei nomi TailwindPHP\Lib\*. Tutto il resto in src/ corrisponde a un file in TailwindCSS.

La correttezza viene verificata con la suite di test di Tailwind. I casi di test vengono estratti direttamente dai file .test.ts di TailwindCSS ed eseguiti sull'output di PHP, così ogni divergenza dal comportamento originale emerge subito. Il risultato è di 4,427 test superati (release 1.7.0, rispetto a TailwindCSS v4.3.3), che coprono utility, varianti, direttive, plugin, CLI e librerie complementari.

Pagine

  • Architettura — la pipeline di compilazione (parse → scan → compile → optimize → minify), la struttura dei sorgenti, l'equivalente di lightningcss e la convenzione dei marker @port-deviation.
  • Cache e minimizzazione — la cache dei file di output (cache, cacheTtl, clearCache()), la cache dello stato del compilatore (stateCacheFile) e il funzionamento del minimizzatore CSS.
  • Prestazioni e test — ottimizzazioni specifiche di PHP, verifica della parità con TailwindCSS e controlli sulla qualità del codice.
  • Compatibilità e aggiornamenti — requisiti, versione di TailwindCSS monitorata, differenze note rispetto a TailwindCSS e note di aggiornamento per ogni release.