Blade Cache Directive

ryangjchandler/blade-cache-directive image

Blade Cache Directive stats

Downloads
32.1K
Stars
179
Open Issues
0
Forks
16

View on GitHub →

Cache chunks of your Blade markup with ease.

Blade Cache Directive

Cache chunks of your Blade markup with ease.

Installation

You can install the package via Composer:

composer require ryangjchandler/blade-cache-directive

You can publish the config file with:

php artisan vendor:publish --provider="RyanChandler\BladeCacheDirective\BladeCacheDirectiveServiceProvider" --tag="blade-cache-directive-config"

This is the contents of the published config file:

return [
 
'enabled' => env('BLADE_CACHE_DIRECTIVE_ENABLED', true),
 
'ttl' => env('BLADE_CACHE_DIRECTIVE_TTL', 3600),
 
];

Usage

This package adds a new @cache Blade directive. It accepts 2 arguments - the cache key and a TTL.

@cache('current_time', 30)
{{ now() }}
@endcache

When used inside of a Blade template, the content between the 2 directives will be cached using Laravel's application cache. If a TTL (in seconds) isn't provided, the default TTL of 1 hour will be used instead.

If you want to cache the content for a particular model, i.e. a User model, you can use string interpolation to change the key.

@cache("user_profile_{$user->id}")
{{ $user->name }}
@endcache

When a new user is passed to this view, a separate cache entry will be created.

Disabling caching

If you wish to disable caching when using the @cache directive (useful for local development and testing), you can set the BLADE_CACHE_DIRECTIVE_ENABLED environment variable to false.

Alternatively, publish the configuration file and modify the enabled entry accordingly.

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Ryangjchandler Blade Cache Directive Related Articles

Hooks for Alpine.js image

Hooks for Alpine.js

Read article
Enforce the Disposal of Objects in PHP image

Enforce the Disposal of Objects in PHP

Read article
A Flat-File Database Driver for Eloquent image

A Flat-File Database Driver for Eloquent

Read article
Celebian logo

Celebian

Celebian is a social media marketing agency specializing in helping their clients go viral on TikTok. Whether you're looking to reach a bigger audience or gain more Tiktok followers, likes, and views, they've got you covered.

Celebian
Laravel Cloud logo

Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Cloud
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Securing Laravel logo

Securing Laravel

The essential security resource for Laravel devs, covering everything you need to keep your apps secure. Sign up to receive weekly security tips and monthly in depth articles, diving deep into security concepts you need to know!

Securing Laravel
Honeybadger logo

Honeybadger

Simple developer-focused application monitoring for Laravel. Error tracking, log management, uptime monitoring, status pages, and more!

Honeybadger
Tinkerwell logo

Tinkerwell

The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

Tinkerwell