CLI
./vendor/bin/tailwindphp to port PHP @tailwindcss/cli niewymagający Node.js. Przyjmuje te same opcje kompilacji, z wyjątkiem map źródłowych (--map), ale skanuje treść inaczej: zobacz Co skanuje CLI. Po composer require tailwindphp/tailwindphp plik binarny jest dołączany do vendor/bin/.
Jeśli w czasie działania potrzebujesz tylko CSS z PHP, użyj zamiast tego API — CLI służy do pracy na etapie budowania, która zapisuje arkusz stylów na dysku.
Szybki start
# Build CSS from an input file
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css
# Watch for changes and rebuild
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css --watch
# Build minified for production
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css --minify
Opcje
tailwindphp [-i input.css] [-o output.css] [--watch] [options…]
Podawaj wartości długich opcji za pomocą =: --input=./src/app.css, --output=./dist/styles.css, --cwd=/path/to/project. Wartość oddzielona spacją po długiej opcji (--input ./src/app.css) jest obecnie ignorowana bez błędu, a kompilacja używa wartości domyślnych (#13). Krótkie opcje przyjmują wartość jako następny argument (-i ./src/app.css).
| Opcja | Opis | Domyślnie |
|---|---|---|
-i, --input |
Wejściowy plik CSS; --input=- odczytuje go ze standardowego wejścia |
@import "tailwindcss" |
-o, --output |
Plik wyjściowy | - (standardowe wyjście) |
-w, --watch |
Obserwuj zmiany i w razie potrzeby buduj ponownie | — |
-m, --minify |
Optymalizuj i minifikuj wynik | — |
--optimize |
Opisano jako „optymalizuj bez minifikacji”; obecnie minifikuje tak jak --minify (#9) |
— |
--cwd |
Bieżący katalog roboczy | . |
-h, --help |
Wyświetl informacje o użyciu | — |
-V, --version |
Wyświetl wersję | — |
-v, --verbose |
Wyświetl ślad stosu w razie niepowodzenia kompilacji | — |
Gdy --output ma wartość - (domyślną), skompilowane CSS jest zapisywane na standardowe wyjście, więc można przekierować je dalej. Komunikaty o postępie (baner wersji i Done in …ms) trafiają na standardowe wyjście błędów.
W przeciwieństwie do @tailwindcss/cli nie ma opcji --map: TailwindPHP nie generuje map źródłowych.
Dane wejściowe CSS
Utwórz app.css z importem Tailwind, motywem i dyrektywami:
@import "tailwindcss";
@theme {
--color-brand: #3b82f6;
}
Co skanuje CLI
Skanowanie zawartości w CLI nie obsługuje jeszcze @source tak jak @tailwindcss/cli (#8). W bieżącym wydaniu:
- Gdy w wejściowym CSS nie ma dyrektywy pliku
@source, CLI rekurencyjnie skanuje katalog roboczy (--cwd). Obejmuje tovendor/inode_modules/;.gitignorenie jest brane pod uwagę. - Gdy występuje co najmniej jedna dyrektywa pliku
@source, CLI rekurencyjnie skanuje katalog pliku wejściowego. Ścieżka ani wzorzec glob z dyrektywy nie są stosowane:@source "../templates"oboksrc/app.cssskanujesrc/, a nietemplates/. - Dyrektywy
@source not "…"są pomijane; niczego nie wykluczają. @source inline("…")i@source not inline("…")działają zgodnie z dokumentacją, ponieważ obsługuje je sam kompilator.
Odczytywane są tylko pliki z następującymi rozszerzeniami: php, html, htm, twig, blade.php, vue, jsx, tsx, svelte, astro i mdx. Nazwy klas są pobierane z atrybutów class i className, tak samo jak w tw::extractCandidates(), więc klasa występująca wyłącznie w ciągu PHP lub JavaScript nie zostanie znaleziona. Wymuś uwzględnienie takich klas za pomocą @source inline("…").
Dopóki nie zostanie to naprawione, niezawodna konfiguracja to wejściowy plik CSS umieszczony na górze skanowanego katalogu:
/* templates/app.css: scans templates/ recursively */
@import "tailwindcss";
@source "./";
Zobacz składnię dyrektyw, w tym formy not i inline().
Przykłady
# Build from an input file
tailwindphp -i ./src/app.css -o ./dist/styles.css
# Build minified for production
tailwindphp -i ./src/app.css -o ./dist/styles.css -m
# Watch mode with minification
tailwindphp -i ./src/app.css -o ./dist/styles.css -w -m
# Run against a different working directory
tailwindphp -i app.css -o dist/styles.css --cwd=/path/to/project
CLI tworzy katalog wyjściowy, jeśli nie istnieje, i kończy działanie z błędem, gdy brakuje pliku wejściowego lub ścieżki wejściowa i wyjściowa są identyczne. Tryb obserwowania sprawdza plik wejściowy i skanowane pliki co każde 500 ms, a następnie ponownie buduje wynik po zmianie któregoś z nich lub pojawieniu się nowego pliku.
Instalacja globalna
Zainstaluj globalnie, aby używać tailwindphp z dowolnego miejsca:
composer global require tailwindphp/tailwindphp
# Now available globally
tailwindphp -i ./src/app.css -o ./dist/styles.css
Zobacz Pierwsze kroki, aby skonfigurować projekt, oraz API, aby dowiedzieć się o generowaniu środowiska uruchomieniowego CSS z PHP.