Pāriet uz saturu

TailwindPHP

TailwindPHP ir 1:1 ports no TailwindCSS 4.x uz PHP. Tas parsē jūsu CSS, pārmeklē marķējumu, lai atrastu klašu nosaukumus, un ģenerē utilītu CSS, ko izveido TailwindCSS v4.3.3 — pilnībā PHP, bez Node.js un būvēšanas posma.

  • Tikai PHP — tiek izplatīts kā Composer pakotne un darbojas ar PHP 8.2+ un standarta paplašinājumiem ctype un mbstring. Bez exec, FFI un vietējiem būvēšanas rīkiem.
  • Pārbaudīts pret TailwindCSS — utilītas, varianti, direktīvas un CSS funkcijas atbilst TailwindCSS v4.3.3. Izvade tiek pārbaudīta ar pašas Tailwind testu komplektiem, kas iegūti no TypeScript pirmkoda un tiek palaisti no jauna pēc katras augšupielādes (4,400+ testi). Zināmās atšķirības (dažas serializācijas detaļas bez ietekmes uz kaskādi un atvērtās problēmas) ir uzskaitītas sadaļā Saderība un jaunināšana.
  • Pilns funkciju klāsts — viss TailwindCSS v4.3.3 utilītu komplekts (tostarp container, ritjoslas utilītas, zoom-* un tab-*), visi varianti (hover, focus, adaptīvie, tumšais režīms, konteineru vaicājumi un patvaļīgas vērtības), kā arī visas direktīvas: @import, @theme, @apply, @utility, @variant, @custom-variant, @layer, @plugin un @source.
  • Viss nepieciešamais jau iekļauts — cn(), merge(), join() un variants() apvieno PHP clsx, tailwind-merge un CVA portus, tāpēc katram Tailwind projektam vajadzīgās papildbibliotēkas jau ir pieejamas.
  • Spraudņi — @tailwindcss/typography un @tailwindcss/forms ir pilnībā pārnesti, un PHP spraudņu API ļauj izveidot savus spraudņus.

Kāpēc tika izveidots TailwindPHP

TailwindCSS ir rakstīts TypeScript un darbojas ar Node.js. Tas ir obligāts priekšnoteikums ikvienam PHP projektam, kurā nepieciešams Tailwind: jāizmanto otra izpildvide, jāinstalē npm un CI vidē, kā arī Docker jāveic būvēšana. Daudzām PHP lietotnēm tā ir lieka sarežģītība.

TailwindPHP novērš šo prasību. Jūsu PHP kods kompilē Tailwind CSS tieši, izmantojot tikai standarta bibliotēku. Tas sniedz vairākas iespējas, kuras ar JavaScript rīku ķēdi ir sarežģīti vai neiespējami īstenot:

  • WordPress un PHP ietvari — izplatiet Tailwind darbinātas tēmas un spraudņus, neprasot lietotājiem instalēt Node.js vai palaist būvēšanu. Vienkārši composer require un gatavs. Skatiet TailwindWP — piemēra WordPress spraudni, kas ģenerē bloku redaktora CSS ar TailwindPHP.
  • CSS izpilde — ģenerējiet utilītu CSS pēc pieprasījuma no lietotāja ievades, datubāzes satura vai veidņu mainīgajiem, nevis būvēšanas laikā.
  • Vienkāršāka izvietošana — produkcijas vidē nav nepieciešams Node.js, CI vidē nav būvēšanas posma, un jūsu Docker attēlā nav npm.

Tāda pati ideja, ko scssphp ieviesa SCSS — viss kompilators, kas darbojas PHP.

Ko tas dara

  • No saturā atrastajiem klašu nosaukumiem kompilē TailwindCSS v4.3.3 palīgklases, variantus un patvaļīgas vērtības.
  • Apstrādā visas direktīvas: @import (tostarp virtuālos moduļus, piemēram, tailwindcss un tailwindcss/utilities, un reference importus), @theme, @apply, @utility, @variant, @custom-variant, @layer, @plugin un @source.
  • Īsteno Tailwind piedāvātās CSS funkcijas — theme(), --theme(), --spacing() un --alpha() —, kā arī color-mix() → oklab() pārveidi un tās CSS transformācijas, kuras TailwindCSS deleģē LightningCSS.
  • Atrisina @import no failu sistēmas ar ligzdotiem importiem, dublikātu novēršanu un pielāgotiem atrisinātājiem vai no iekļautām CSS virknēm.
  • Ietver Preflight (Tailwind stilu sākotnējo atiestatīšanu), prefiksu atbalstu, @property rezerves variantus, ražotāju prefiksus un animācijas atslēgkadru definīciju pārvietošanu augstāk.
  • Ietver cn(), merge(), join() un variants()/compose() klašu nosaukumu veidošanai, konfliktu atrisināšanai un komponentu variantiem.
  • Ietver tipogrāfijas un formu spraudņus, kā arī spraudņu API (addUtilities, matchUtilities, addComponents, addVariant, theme, …) pielāgotiem spraudņiem.
  • Nodrošina CLI (bin/tailwindphp) ar @tailwindcss/cli būvēšanas opcijām, failu izvades kešatmiņu, pastāvīgu kompilatora stāvokļa kešatmiņu un CSS minifikatoru ražošanas videi.

Kas tas nav

TailwindPHP ir CSS kompilators, nevis redaktora rīku ķēde. Tajā apzināti nav iekļautas Tailwind ekosistēmas IDE paredzētās iespējas — IntelliSense, automātiskā pabeigšana, klašu kārtošana un avota kartes — jo tās ir redaktora funkcijas, nevis CSS ģenerēšanas daļa. Šeit ietilpst viss, kas ģenerē CSS; redaktora darbību nodrošinošās funkcijas neietilpst.

Ar ko sākt

  • Darba sākšana — instalējiet pakotni un ģenerējiet savu pirmo stilu lapu.
  • Lietošana — skenējiet saturu, pielāgojiet tēmu un izmantojiet Tailwind direktīvas.
  • Klašu utilītas — cn(), merge(), join() un variants().
  • Spraudņi — tipogrāfija, veidlapas un savu spraudņu izveide.
  • API — pilns tw interfeiss un TailwindCompiler instance.
  • CLI — bin/tailwindphp failos balstītiem būvējumiem un uzraudzības režīmam.
  • Papildu informācija — arhitektūra, kešošana, veiktspēja un saderības piezīmes.