CLI
./vendor/bin/tailwindphp is een PHP-port van @tailwindcss/cli waarvoor geen Node.js nodig is. Het gebruikt dezelfde buildopties, behalve sourcemaps (--map), maar scant inhoud op een andere manier: zie Wat CLI scant. Na composer require tailwindphp/tailwindphp wordt het binaire bestand gekoppeld aan vendor/bin/.
Als je tijdens runtime alleen CSS uit PHP nodig hebt, gebruik dan in plaats daarvan API — CLI is bedoeld voor workflows tijdens het bouwen die een stylesheet naar schijf schrijven.
Snel aan de slag
# 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
Opties
tailwindphp [-i input.css] [-o output.css] [--watch] [options…]
Geef lange opties hun waarde met =: --input=./src/app.css, --output=./dist/styles.css, --cwd=/path/to/project. Een met spaties gescheiden waarde na een lange optie (--input ./src/app.css) wordt momenteel zonder foutmelding genegeerd, waarna de build terugvalt op de standaardwaarden (#13). Korte opties nemen de waarde als volgend argument (-i ./src/app.css).
| Optie | Beschrijving | Standaardwaarde |
|---|---|---|
-i, --input |
Invoerbestand CSS; --input=- leest het van stdin |
@import "tailwindcss" |
-o, --output |
Uitvoerbestand | - (stdout) |
-w, --watch |
Wijzigingen volgen en indien nodig opnieuw bouwen | — |
-m, --minify |
Uitvoer optimaliseren en verkleinen | — |
--optimize |
Gedocumenteerd als "optimaliseren zonder verkleinen"; verkleint momenteel net als --minify (#9) |
— |
--cwd |
De huidige werkmap | . |
-h, --help |
Gebruiksinformatie weergeven | — |
-V, --version |
De versie afdrukken | — |
-v, --verbose |
De stacktrace afdrukken als een build mislukt | — |
Wanneer --output - is (de standaardwaarde), wordt de gecompileerde CSS naar stdout geschreven, zodat je deze kunt doorsturen. Voortgangsberichten (de versieaankondiging en Done in …ms) gaan naar stderr.
In tegenstelling tot @tailwindcss/cli is er geen optie --map: TailwindPHP genereert geen sourcemaps.
Invoer-CSS
Maak een app.css met je Tailwind-import, thema en directives:
@import "tailwindcss";
@theme {
--color-brand: #3b82f6;
}
Wat CLI scant
Contentscanning in de CLI volgt @source nog niet zoals @tailwindcss/cli dat doet (#8). In de huidige versie:
- Zonder
@source-bestanddirective in de invoer-CSS scant de CLI de werkmap (--cwd) recursief. Dat omvatvendor/ennode_modules/;.gitignorewordt niet geraadpleegd. - Met een of meer
@source-bestanddirectives scant de CLI de map van het invoerbestand recursief. Het pad of globpatroon in de directive wordt niet toegepast:@source "../templates"naastsrc/app.cssscantsrc/, niettemplates/. @source not "…"-directives worden overgeslagen; ze sluiten niets uit.@source inline("…")en@source not inline("…")werken zoals beschreven, omdat de compiler ze zelf verwerkt.
Alleen bestanden met deze extensies worden gelezen: php, html, htm, twig, blade.php, vue, jsx, tsx, svelte, astro en mdx. Klassenamen worden opgehaald uit de attributen class en className, net als in tw::extractCandidates(). Een klasse die alleen voorkomt in een PHP- of JavaScript-string wordt dus niet gevonden. Neem zulke classes op met @source inline("…").
Tot dit is opgelost, is de betrouwbare configuratie een invoerbestand CSS bovenaan de map die je wilt laten scannen:
/* templates/app.css: scans templates/ recursively */
@import "tailwindcss";
@source "./";
Zie @source voor de syntaxis van directives, waaronder de vormen not en inline().
Voorbeelden
# 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
De CLI maakt de uitvoermap aan als die niet bestaat en stopt met een foutmelding als het invoerbestand ontbreekt of de invoer- en uitvoerpaden identiek zijn. De watchmodus controleert het invoerbestand en de gescande bestanden elke 500 ms en bouwt opnieuw zodra een ervan verandert of er een nieuw bestand verschijnt.
Globale installatie
Installeer wereldwijd om tailwindphp overal te gebruiken:
composer global require tailwindphp/tailwindphp
# Now available globally
tailwindphp -i ./src/app.css -o ./dist/styles.css
Zie Aan de slag voor de projectconfiguratie en API voor het genereren van CSS tijdens runtime vanuit PHP.