PHP code example of charged / tailwindphp
1. Go to this page and download the library: Download charged/tailwindphp library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
charged / tailwindphp example snippets
use TailwindPHP\tw;
$css = tw::generate([
'content' => '<div class="bg-blue-500 p-4 rounded-lg hover:bg-blue-600"></div>',
'css' => '@import "tailwindcss";',
'minify' => true,
]);
file_put_contents('public/app.css', $css);
use TailwindPHP\tw;
$candidates = scan_my_templates_for_classes(); // your own scanner
$content = '<div class="' . implode(' ', $candidates) . '"></div>';
$css = tw::generate([
'content' => $content,
'css' => file_get_contents(__DIR__ . '/app.css'),
'minify' => true,
]);
file_put_contents(__DIR__ . '/cache/app.css', $css);
tw::generate([
'content' => $html,
'css' => '@import "tailwindcss";',
'cache' => '/var/cache/tailwind', // or `true` for sys_get_temp_dir()
'cacheTtl' => 3600, // optional: seconds before recompile
'cacheMax' => 500, // optional: LRU-evict to keep ≤500 entries
]);
tw::clearCache('/var/cache/tailwind'); // wipe the cache directory
tw::generate([
'content' => $html,
'css' => $css,
'importPaths' => function (?string $uri, ?string $fromFile): ?string {
// Return CSS content (or null to signal "not found").
return $myThemeLoader->fetch($uri);
},
]);
use TailwindPHP\Plugin\PluginInterface;
use TailwindPHP\Plugin\PluginAPI;
final class BrandPlugin implements PluginInterface
{
public function getName(): string { return 'my/brand'; }
public function __invoke(PluginAPI $api, array $options = []): void
{
$api->addUtilities(['.brand-bg' => ['background' => 'oklch(72% .15 240)']]);
}
public function getThemeExtensions(array $options = []): array { return []; }
}
$css = tw::generate([
'content' => '<div class="brand-bg"></div>',
'css' => '@import "tailwindcss"; @plugin "my/brand";',
'plugins' => [new BrandPlugin()],
]);
$tw = tw::compile('@import "tailwindcss";');
$tw->properties('p-4'); // ['padding' => 'calc(var(--spacing) * 4)']
$tw->computedProperties('p-4'); // ['padding' => '1rem']
$tw->value('bg-blue-500'); // CSS variable form
$tw->computedValue('bg-blue-500'); // resolved colour
$tw->colors(); // ['blue-500' => 'oklch(...)', ...]
$tw->breakpoints(); // ['md' => '48rem', ...]
use function TailwindPHP\{cn, merge, variants};
cn('px-2 py-1', 'px-4'); // 'py-1 px-4' (tailwind-merge)
cn('btn', ['btn-lg' => $isLarge]); // conditional (clsx)
merge('text-red-500', 'text-blue-500'); // 'text-blue-500'
$button = variants([ // CVA-style variants
'base' => 'btn font-semibold',
'variants' => [
'size' => ['sm' => 'text-sm', 'lg' => 'text-lg'],
],
'defaultVariants' => ['size' => 'sm'],
]);
$button(['size' => 'lg', 'class' => 'mt-4']);
use TailwindPHP\Exception\{TailwindException, UnknownPluginException};
try {
$css = tw::generate([...]);
} catch (UnknownPluginException $e) {
// log and serve the last-known-good cached stylesheet
} catch (TailwindException $e) {
// any TailwindPHP compile error
}
bash
php bin/build-theme-cache.php