Przejdź do treści

TailwindPHP

Port TailwindCSS 4.x do PHP. Generuj CSS dla klas Tailwind w PHP bez Node.js i etapu budowania. Zawiera cn(), tailwind-merge, CVA, wtyczki typografii i formularzy oraz CLI.

Terminal
composer require tailwindphp/tailwindphp

Najnowsze wydanie v1.7.0 MIT PHP 8.2+

W praktyce

Przekaż znaczniki i opcjonalne wejściowe CSS w jednym wywołaniu PHP, aby otrzymać arkusz stylów.

Generuj CSS z PHP

tw::generate() skanuje znaczniki w poszukiwaniu nazw klas i zwraca tylko CSS potrzebny tym klasom. Drugi argument przyjmuje wejściowy CSS, więc kolor zdefiniowany w @theme staje się klasą pomocniczą.

cn() tworzy ciągi klas i rozwiązuje konflikty Tailwind, dzięki czemu wygrywa ostatnia kolidująca klasa pomocnicza.

PHP
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)

Czysty PHP

Bez Node.js i etapu budowania. Działa z PHP 8.2+ ze standardowymi rozszerzeniami mbstring i ctype. Wystarczy composer require i gotowe.

Zgodność z TailwindCSS v4.3.3

Port Tailwind v4.3.3 z tymi samymi klasami pomocniczymi, wariantami i dyrektywami. Udokumentowano znane różnice względem Tailwind.

Ponad 4 400 testów

Wynik jest weryfikowany za pomocą własnych zestawów testów TailwindCSS, wyodrębnionych z jego kodu źródłowego w TypeScript i uruchamianych po każdym wypchnięciu zmian.

Każda klasa pomocnicza i wariant

Pełny zestaw klas pomocniczych i wszystkie warianty: hover, focus, responsywność, tryb ciemny, zapytania kontenerowe i dowolne wartości.

Dyrektywy CSS

@import, @theme, @apply, @utility, @custom-variant, @layer, @plugin i @source są analizowane i rozpoznawane w PHP.

Generowanie w czasie działania

Generuj CSS dla klas pomocniczych na bieżąco na podstawie HTML, treści bazy danych lub zmiennych szablonu. Bez etapu budowania.

Wszystko w zestawie

cn(), merge(), join() i variants(): clsx, tailwind-merge i CVA przeniesione do PHP, bez dodatkowych pakietów.

Wtyczki

@tailwindcss/typography i @tailwindcss/forms przeniesione do PHP, a także API wtyczek PHP do tworzenia własnych klas pomocniczych i komponentów.

CLI

bin/tailwindphp tworzy arkusz stylów z wejściowego pliku CSS przy użyciu opcji -i, -o, --watch i --minify.

Sprawdzaj motyw

Odczytuj surowe i obliczone wartości właściwości, kolory, punkty przerwania i odstępy dla dowolnej klasy bezpośrednio z PHP.

Pamięć podręczna i minifikator

Wbudowany minifikator CSS i pamięć podręczna plików z TTL przyspieszają kolejne kompilacje i ograniczają rozmiar wyniku.

Frameworki WordPress i PHP

Twórz motywy i wtyczki oparte na Tailwind bez Node.js w stosie. TailwindPHP to pojedyncza zależność Composer.

Dlaczego TailwindPHP

Jedno środowisko uruchomieniowe na produkcji

Projekt PHP korzystający z Tailwind zwykle wymaga także Node.js, instalacji npm oraz etapu budowania w CI i Docker. TailwindPHP kompiluje CSS wewnątrz procesu PHP.

CSS dla treści znanej w czasie działania

Znaczniki z bazy danych, danych użytkownika lub zmiennej szablonu można przekazać bezpośrednio do tw::generate(), które zwraca tylko CSS potrzebne użytym klasom.

Zweryfikowano względem przypiętej wersji Tailwind

Przypadki testowe są wyodrębniane ze źródła Tailwind przypiętego w repozytorium i uruchamiane względem wyniku PHP, więc rozbieżności powodują niepowodzenie CI. Wersję 1.7.0 zweryfikowano względem Tailwind v4.3.3 za pomocą 4 427 testów.

CSS dla każdej strony z jednego kompilatora

Skompiluj motyw raz za pomocą tw::compile(), a następnie wywołuj generateExact() dla każdej strony. Każde wywołanie zwraca wynik, jaki dałaby świeża kompilacja tw::generate() tej strony, bez ponownego analizowania motywu.

W porównaniu z

Tailwind Labs udostępnia własne sposoby budowania Tailwind CSS. Oto czym różni się TailwindPHP.

TailwindPHP w porównaniu z innymi narzędziami
Tailwind CLI (@tailwindcss/cli) Dobre wWłasne narzędzie wiersza poleceń Tailwind, instalowane z npm. Skanuje pliki HTML, komponenty i szablony w poszukiwaniu nazw klas, a pasujące style zapisuje w statycznym pliku CSS. Różnica w porównaniu z TailwindPHPTailwindPHP kompiluje wewnątrz PHP bez instalacji Node.js ani npm. Obsługuje przypięte wydanie Tailwind (v4.3.3 w 1.7.0), a jego własny test wydajności pokazuje, że oryginalne TypeScript wykonuje operacje niskiego poziomu szybciej.
Tailwind samodzielny CLI Dobre wTailwind CLI jako samodzielny plik wykonywalny, dla projektów, które chcą go używać bez instalowania Node.js. Różnica w porównaniu z TailwindPHPPlik wykonywalny to osobny program uruchamiany jako etap budowania. TailwindPHP jest pakietem Composer wywoływanym przez kod PHP, więc może też generować CSS na żądanie na podstawie treści bazy danych lub zmiennych szablonu.
Tailwind Play CDN Dobre wZnacznik skryptu uruchamiający Tailwind w przeglądarce, aby można było wypróbować go bez etapu budowania. Dokumentacja Tailwind podaje, że jest przeznaczony do programowania, a nie do użycia na produkcji. Różnica w porównaniu z TailwindPHPTailwindPHP również nie wymaga etapu budowania, ale generuje CSS na serwerze w PHP i zwraca je jako ciąg, na przykład do zapisania w arkuszu stylów.

Pytania i odpowiedzi

Krótkie odpowiedzi z dokumentacji TailwindPHP.

Zainstaluj pakiet za pomocą Composer i skorzystaj z przewodnika dla początkujących, aby wygenerować pierwszy arkusz stylów z PHP.