Laravel Dyrektywa pamięci podręcznej serwerów kasetowych to pakiet autorstwa Ryan Chandler, który pozwala na buforowanie fragmentów plików Blade.Pakiet zawiera dyrektywę @cache
, której można użyć w następujący sposób:
{{-- Provide a cache key and TTL (default is 1 hour) --}}
@cache('current_time', 30)
{{ now() }}
@endcache
Blok pamięci podręcznej będzie buforowany przy użyciu pamięci podręcznej aplikacji Laravel, a nawet umożliwia interpolację ciągów, jeśli chcesz buforować blok w sposób na model:
@cache("user_profile_{$user->id}")
{{ $user->name }}
@endcache
Jeśli jesteś ciekawy, przykład bloku pamięci podręcznej {{ now() }}
dałby coś takiego jak następujące dane wyjściowe:
$__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);
}
Możesz dowiedzieć się więcej ow