CLI
./vendor/bin/tailwindphp — порт PHP @tailwindcss/cli без потреби в Node.js. Він приймає ті самі параметри збірки, крім карт джерела (--map), але інакше сканує вміст: див. Що сканує CLI. Після composer require tailwindphp/tailwindphp бінарний файл вбудовується в vendor/bin/.
Якщо під час виконання вам потрібен лише CSS з PHP, використовуйте API — CLI призначено для робочих процесів збірки, які записують таблицю стилів на диск.
Швидкий початок
# 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
Параметри
tailwindphp [-i input.css] [-o output.css] [--watch] [options…]
Передавайте значення довгих параметрів за допомогою =: --input=./src/app.css, --output=./dist/styles.css, --cwd=/path/to/project. Зараз значення, відокремлене пробілом після довгого параметра (--input ./src/app.css), мовчки ігнорується, а збірка використовує типові значення (#13). Короткі параметри приймають значення наступним аргументом (-i ./src/app.css).
| Параметр | Опис | За замовчуванням |
|---|---|---|
-i, --input |
Вхідний файл CSS; --input=- читає його зі stdin |
@import "tailwindcss" |
-o, --output |
Вихідний файл | - (stdout) |
-w, --watch |
Стежити за змінами й за потреби перебудовувати | — |
-m, --minify |
Оптимізувати й мінімізувати результат | — |
--optimize |
Згідно з документацією, «оптимізувати без мінімізації»; наразі мінімізує так само, як --minify (#9) |
— |
--cwd |
Поточний робочий каталог | . |
-h, --help |
Показати інформацію про використання | — |
-V, --version |
Вивести версію | — |
-v, --verbose |
Вивести трасування стека, якщо збірка завершується помилкою | — |
Коли --output має значення - (за замовчуванням), скомпільований CSS виводиться в stdout, тож його можна передати далі через конвеєр. Повідомлення про перебіг (банер версії та Done in …ms) виводяться в stderr.
На відміну від @tailwindcss/cli, опції --map немає: TailwindPHP не створює карт джерела.
Вхідний CSS
Створіть app.css з імпортом, темою та директивами Tailwind:
@import "tailwindcss";
@theme {
--color-brand: #3b82f6;
}
Що сканує CLI
Сканування вмісту в CLI поки що не обробляє @source так само, як це робить @tailwindcss/cli (#8). У поточному випуску:
- Якщо у вхідному CSS немає директиви файлу
@source, CLI рекурсивно сканує робочий каталог (--cwd). Це стосується такожvendor/іnode_modules/;.gitignoreне враховується. - Якщо є одна чи більше директив файлу
@source, CLI рекурсивно сканує каталог вхідного файлу. Шлях або шаблон у директиві не застосовується:@source "../templates"поруч ізsrc/app.cssскануєsrc/, а неtemplates/. - Директиви
@source not "…"пропускаються; вони нічого не виключають. @source inline("…")і@source not inline("…")працюють як задокументовано, оскільки їх обробляє сам компілятор.
Читаються лише файли з такими розширеннями: php, html, htm, twig, blade.php, vue, jsx, tsx, svelte, astro і mdx. Назви класів беруться з атрибутів class і className — так само, як у tw::extractCandidates(), тож клас, який трапляється лише в рядку PHP або JavaScript, не буде знайдено. Додайте такі класи примусово за допомогою @source inline("…").
Поки це не виправлено, надійний варіант — розмістити вхідний файл CSS у корені каталогу, який потрібно сканувати:
/* templates/app.css: scans templates/ recursively */
@import "tailwindcss";
@source "./";
Синтаксис директив, зокрема форми not і inline(), див. у @source.
Приклади
# 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 створює вихідний каталог, якщо його ще немає, і завершується з помилкою, якщо вхідний файл відсутній або шляхи до вхідного й вихідного файлів збігаються. У режимі спостереження перевіряються вхідний і проскановані файли кожні 500 мс; перебудова виконується, коли один із них змінюється або з’являється новий файл.
Глобальне встановлення
Встановіть глобально, щоб використовувати tailwindphp звідусіль:
composer global require tailwindphp/tailwindphp
# Now available globally
tailwindphp -i ./src/app.css -o ./dist/styles.css
Налаштування проєкту описано в розділі Початок роботи, а генерацію CSS із PHP під час виконання — у розділі API.