轻松缓存 Blade 标记块
发布于 作者 Paul Redmond
Laravel Blade 缓存指令 是 Ryan Chandler 开发的一个包,它允许你缓存 Blade 文件的片段。该包提供了一个 @cache
指令,你可以像下面这样使用它
{{-- Provide a cache key and TTL (default is 1 hour) --}}@cache('current_time', 30) {{ now() }}@endcache
缓存块将使用 Laravel 的应用程序缓存进行缓存,甚至允许字符串插值,如果你想按模型缓存块
@cache("user_profile_{$user->id}") {{ $user->name }}@endcache
如果你好奇,{{ now() }}
缓存块示例将产生类似于以下输出的结果
$__cache_directive_arguments = ['current_time', 300]; if (count($__cache_directive_arguments) === 2) { [$__cache_directive_key, $__cache_directive_ttl] = $__cache_directive_arguments;} else { [$__cache_directive_key] = $__cache_directive_arguments; $__cache_directive_ttl = config('blade-cache-directive.ttl');} if (\Illuminate\Support\Facades\Cache::has($__cache_directive_key)) { echo \Illuminate\Support\Facades\Cache::get($__cache_directive_key);} else { $__cache_directive_buffering = true; ob_start(); ?> <?php echo e(now()); ?> <?php $__cache_directive_buffer = ob_get_clean(); \Illuminate\Support\Facades\Cache::put($__cache_directive_key, $__cache_directive_buffer, $__cache_directive_ttl); echo $__cache_directive_buffer; unset($__cache_directive_key, $__cache_directive_ttl, $__cache_directive_buffer, $__cache_directive_buffering, $__cache_directive_arguments);}
你可以在 GitHub 上了解更多关于这个包的信息,获取完整的安装说明,并查看 源代码。