TailwindPHP
TailwindCSS 4.x pārnesums uz PHP. Ģenerējiet Tailwind utilītu CSS formātā PHP bez Node.js un kompilēšanas darbības. Komplektā ir cn(), tailwind-merge, CVA, tipogrāfijas un formu spraudņi, kā arī CLI.
composer require tailwindphp/tailwindphpJaunākais laidiens v1.7.0 MIT PHP 8.2+
use function TailwindPHP\merge;
merge('px-2 py-1 bg-red-500', 'px-4 bg-blue-500');
// => 'py-1 px-4 bg-blue-500'
// Conflict resolution is variant-aware
merge('hover:bg-red-500', 'hover:bg-blue-500');
// => 'hover:bg-blue-500'Praksē
Nododiet marķējumu un izvēles ievades CSS vienam PHP izsaukumam, lai saņemtu stilu lapu.
Ģenerējiet CSS no PHP
tw::generate() pārmeklē marķējumu, meklējot klašu nosaukumus, un atgriež tikai CSS, kas vajadzīgs šīm klasēm. Otrajā argumentā var norādīt ievades CSS, tādēļ krāsa, kas definēta @theme, kļūst par palīgklasi.
cn() veido klašu virknes un atrisina Tailwind konfliktus, tāpēc pēdējā konfliktējošā palīgklase ir noteicošā.
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)use function TailwindPHP\cn;
cn('px-2 py-1', 'px-4'); // 'py-1 px-4'
cn('btn', ['btn-primary' => true]); // 'btn btn-primary'Tīrs PHP
Bez Node.js un būvēšanas soļa. Darbojas ar PHP 8.2+ un standarta mbstring un ctype paplašinājumiem. Izpildiet composer require un sāciet darbu.
Atbilst TailwindCSS v4.3.3
Tailwind v4.3.3 pārnesums ar tām pašām palīgklasēm, variantiem un direktīvām. Dokumentētas zināmās atšķirības no Tailwind.
4 400+ testi
Izvade tiek pārbaudīta ar TailwindCSS testu komplektiem, kas izdalīti no TypeScript pirmkoda un tiek atkārtoti izpildīti pēc katras nosūtīšanas.
Visas palīgklases un varianti
Pilns palīgklašu komplekts un visi varianti: hover, focus, adaptīvais dizains, tumšais režīms, konteineru vaicājumi un patvaļīgas vērtības.
CSS direktīvas
@import, @theme, @apply, @utility, @custom-variant, @layer, @plugin un @source, parsētas un atrisinātas PHP.
Ģenerēšana izpildlaikā
Dinamiski ģenerējiet palīgklašu CSS no HTML, datubāzes satura vai veidņu mainīgajiem. Būvēšanas solis nav vajadzīgs.
Viss iekļauts
cn(), merge(), join() un variants(): clsx, tailwind-merge un CVA pārnesti uz PHP bez papildu pakotnēm.
Spraudņi
@tailwindcss/typography un @tailwindcss/forms pārnesti uz PHP, kā arī PHP spraudņu API savām palīgklasēm un komponentiem.
CLI
bin/tailwindphp izveido stilu lapu no ievades CSS faila, izmantojot -i, -o, --watch un --minify.
Motīva pārbaude
Tieši no PHP nolasiet jebkuras klases neapstrādāto un aprēķināto rekvizītu vērtības, krāsas, pārtraukumpunktus un atstarpes.
Kešatmiņa un minifikators
Iebūvētais CSS minifikators un failu kešatmiņa ar TTL paātrina atkārtotas būves un samazina izvadi.
WordPress un PHP ietvari
Piegādājiet uz Tailwind balstītus motīvus un spraudņus bez Node.js stekā. TailwindPHP ir viena Composer atkarība.
Kāpēc TailwindPHP
Ražošanā darbojas viena izpildvide
PHP projektā, kurā tiek izmantots Tailwind, parasti ievieš arī Node.js, npm instalāciju un būvēšanas soli CI un Docker. Tā vietā TailwindPHP kompilē CSS PHP procesā.
CSS saturam, kas zināms izpildlaikā
Marķējumu no datubāzes, lietotāja ievades vai veidnes mainīgā var tieši nodot tw::generate(), kas atgriež tikai CSS, kas vajadzīgs tā klasēm.
Pārbaudīts ar fiksētu Tailwind laidienu
Testgadījumi tiek izdalīti no repozitorijā fiksētā Tailwind pirmkoda un izpildīti ar PHP izvadi, tāpēc novirzes izraisa CI kļūmi. Laidienam 1.7.0 tika pārbaudīts Tailwind v4.3.3 ar 4 427 testiem.
Katras lapas CSS ar vienu kompilatoru
Vienreiz kompilējiet motīvu ar tw::compile(), pēc tam katrai lapai izsauciet generateExact(). Katrs izsaukums atgriež to, ko radītu šīs lapas tw::generate() bez kešatmiņas, un motīvs nav jāparsē atkārtoti.
Salīdzinājums ar
Tailwind Labs piedāvā savus veidus, kā būvēt Tailwind CSS. Lūk, ar ko atšķiras TailwindPHP.
| Rīks | Piemērots | Atšķirība no TailwindPHP |
|---|---|---|
| Tailwind CLI (@tailwindcss/cli) | PiemērotsPaša Tailwind komandrindas rīks, ko instalē no npm. Tas pārmeklē jūsu HTML failus, komponentus un veidnes, meklējot klašu nosaukumus, un saglabā atbilstošos stilus statiskā CSS failā. | Atšķirība no TailwindPHPTailwindPHP tiek kompilēts PHP vidē bez Node.js vai npm instalācijas. Tas atbilst fiksētam Tailwind laidienam (v4.3.3 no 1.7.0), un tā veiktspējas pārbaude rāda, ka sākotnējais TypeScript zemāka līmeņa darbības veic ātrāk. |
| Tailwind atsevišķs CLI | PiemērotsTailwind CLI kā atsevišķa izpildāma programma projektiem, kas vēlas to izmantot, neinstalējot Node.js. | Atšķirība no TailwindPHPIzpildāmā programma ir atsevišķs binārais fails, kas darbojas kā būvēšanas solis. TailwindPHP ir Composer pakotne, kuru izsauc jūsu PHP kods, tāpēc tā var arī ģenerēt CSS pieprasījuma laikā, izmantojot datubāzes saturu vai veidņu mainīgos. |
| Tailwind Play CDN | PiemērotsSkripta tags, kas pārlūkprogrammā palaiž Tailwind un ļauj to izmēģināt bez būvēšanas soļa. Tailwind dokumentācijā teikts, ka tas paredzēts izstrādei, nevis izmantošanai ražošanā. | Atšķirība no TailwindPHPTailwindPHP arī nav vajadzīgs būvēšanas solis, taču tas serverī ģenerē CSS ar PHP un atgriež to kā virkni, piemēram, lai to ierakstītu stilu lapā. |
Jautājumi un atbildes
Īsas atbildes no TailwindPHP dokumentācijas.
Laidienā 1.7.0 tiek izmantots Tailwind CSS v4.3.3. Testu komplekti tika izgūti atkārtoti, izmantojot šo versiju.
Izvade tiek pārbaudīta ar gadījumiem, kas izdalīti no Tailwind testu failiem. 1.7.0 izmaiņu žurnālā ir norādītas dažas serializācijas atšķirības; piemēram, .p-0 saglabā padding: 0px, bet atsauces CLI izvada padding: 0.
Nē. Spraudņi ir PHP: ir pārnesti tipogrāfijas un veidlapu spraudņi, un jūs varat rakstīt savus, izmantojot PHP spraudņa API, un reģistrēt tos ar registerPlugin(). Nereģistrēts @plugin nosaukums izraisa kļūdu.
Projekta veiktspējas pārbaudē ar PHP 8.4.5 un Apple M1 pilnas lapas ģenerēšana aizņēma aptuveni 14 ms katrai lapai. Atkārtotām ievadēm failu kešatmiņa izlaiž kompilēšanu, bet ilgstoši darbināts kompilators ar generateExact() atkārtoti izmanto parsēto motīvu.
Nē. IntelliSense, automātiskā pabeigšana, klašu kārtošana un avota kartes ir apzināti izlaistas. TailwindPHP ģenerē tikai CSS.
PHP 8.2 vai jaunāka versija ar ctype un mbstring paplašinājumiem. composer.json norāda PHP versiju, un CI izpilda testu komplektu ar PHP 8.2, 8.3 un 8.4.
Instalējiet pakotni ar Composer un skatiet darba sākšanas ceļvedi, lai ģenerētu pirmo stilu lapu no PHP.