TailwindPHP
TailwindPHP adalah port 1:1 TailwindCSS 4.x ke PHP. Fitur ini mengurai CSS Anda, memindai markup untuk mencari nama kelas, dan menghasilkan CSS utilitas yang dihasilkan TailwindCSS v4.3.3 — seluruhnya di PHP, tanpa Node.js dan tanpa tahap build.
- PHP murni — tersedia sebagai paket Composer dan berjalan di PHP 8.2+ dengan ekstensi standar
ctypedanmbstring. Tanpaexec, FFI, atau perkakas build native. - Diuji terhadap TailwindCSS — utilitas, varian, direktif, dan fungsi CSS mengikuti TailwindCSS v4.3.3. Keluaran diverifikasi terhadap rangkaian pengujian milik Tailwind, diekstrak dari sumber TypeScript dan dijalankan ulang pada setiap push (4,400+ pengujian). Perbedaan yang diketahui (beberapa detail serialisasi tanpa dampak pada cascade, serta masalah terbuka) tercantum di Kompatibilitas & peningkatan.
- Seluruh rangkaian fitur — seluruh kumpulan utilitas TailwindCSS v4.3.3 (termasuk
container, utilitas scrollbar,zoom-*dantab-*), semua varian (hover, focus, responsif, mode gelap, kueri kontainer, nilai arbitrer), serta seluruh cakupan direktif:@import,@theme,@apply,@utility,@variant,@custom-variant,@layer,@plugin, dan@source. - Semua sudah tersedia —
cn(),merge(),join(), danvariants()menyertakan port PHP clsx, tailwind-merge, dan CVA, jadi pustaka pendamping yang biasa digunakan setiap proyek Tailwind sudah tersedia. - Plugin —
@tailwindcss/typographydan@tailwindcss/formstelah di-port sepenuhnya, dan PHP plugin API memungkinkan Anda menulis plugin sendiri.
Alasan TailwindPHP dibuat
TailwindCSS ditulis dalam TypeScript dan berjalan di Node.js. Ini merupakan persyaratan mutlak bagi proyek PHP yang menginginkan Tailwind: runtime kedua, instalasi npm, dan tahap build di CI serta Docker. Bagi banyak aplikasi PHP, kerumitan itu ingin dihindari.
TailwindPHP menghilangkan kebutuhan itu. Kode PHP Anda dikompilasi langsung menjadi Tailwind CSS, hanya dengan pustaka standar. Ini memungkinkan beberapa hal yang sulit atau mustahil dilakukan dengan toolchain JavaScript:
- Framework WordPress dan PHP — distribusikan tema dan plugin berbasis Tailwind tanpa meminta pengguna menginstal Node.js atau menjalankan build. Cukup
composer requiredan langsung gunakan. Lihat TailwindWP, contoh plugin WordPress yang menghasilkan CSS editor blok dengan TailwindPHP. - Pembuatan CSS saat runtime — buat CSS utilitas secara langsung dari masukan pengguna, konten basis data, atau variabel templat, bukan saat build.
- Penerapan yang lebih sederhana — tanpa Node.js di produksi, tahap build di CI, atau npm dalam image Docker Anda.
Idenya sama dengan scssphp untuk SCSS — compiler lengkap dalam PHP.
Fungsinya
- Mengompilasi kumpulan utilitas TailwindCSS v4.3.3, variannya, dan nilai arbitrer dari nama kelas yang ditemukan dalam konten Anda.
- Menyelesaikan seluruh cakupan direktif:
@import(termasuk modul virtual sepertitailwindcssdantailwindcss/utilities, serta imporreference),@theme,@apply,@utility,@variant,@custom-variant,@layer,@plugin, dan@source. - Mengimplementasikan fungsi CSS milik Tailwind —
theme(),--theme(),--spacing(), dan--alpha()— serta konversicolor-mix()→oklab()dan transformasi CSS yang didelegasikan TailwindCSS kepada LightningCSS. - Menyelesaikan
@importdari sistem berkas dengan impor bersarang, deduplikasi, dan resolver kustom, atau dari string CSS sebaris. - Menyertakan Preflight (reset dasar milik Tailwind), dukungan prefiks, fallback
@property, prefiks vendor, dan pemindahan keyframe ke tingkat atas. - Menyertakan
cn(),merge(),join(), danvariants()/compose()untuk menyusun nama kelas, menyelesaikan konflik, dan membuat varian komponen. - Menyertakan plugin tipografi dan formulir, serta API plugin (
addUtilities,matchUtilities,addComponents,addVariant,theme, …) untuk plugin kustom. - Menyediakan CLI (
bin/tailwindphp) dengan opsi build@tailwindcss/cli, serta cache output berbasis berkas, cache status compiler persisten, dan minifier CSS untuk produksi.
Hal yang bukan termasuk
TailwindPHP adalah compiler CSS, bukan toolchain editor. Sengaja tidak menyertakan bagian ekosistem Tailwind yang ditujukan untuk IDE — IntelliSense, pelengkapan otomatis, pengurutan kelas, dan peta sumber — karena semua itu adalah fitur editor, bukan bagian dari pembuatan CSS. Semua yang menghasilkan CSS termasuk dalam cakupan; semua yang mendukung editor Anda tidak.
Mulai di sini
- Memulai — instal paket dan buat stylesheet pertama Anda.
- Penggunaan — pindai konten, sesuaikan tema, dan gunakan direktif milik Tailwind.
- Utilitas Kelas —
cn(),merge(),join(), danvariants(). - Plugin — tipografi, formulir, dan cara menulis plugin Anda sendiri.
- API — seluruh cakupan
twdan instanceTailwindCompiler. - CLI —
bin/tailwindphpuntuk build berbasis berkas dan mode pantau. - Lanjutan — arsitektur, caching, performa, dan catatan kompatibilitas.