julienmru / laravel-partialcache
Blade 指令用于在 Laravel 中缓存渲染的部分
Requires
- php: >=7.2.5
Requires (Dev)
- phpunit/phpunit: 4.*
- scrutinizer/ocular: ~1.1
This package is auto-updated.
Last update: 2024-09-20 09:03:03 UTC
README
🚨 此软件包已被弃用 🚨
我们不再在我们的项目中使用此软件包,也无法证明维护它所需的时间。这就是我们选择弃用的原因。您可以随意fork我们的代码并维护自己的副本。
Laravel 缓存部分 Blade 指令
此软件包为 Laravel >=5.1 提供了 Blade 指令,用于缓存 Laravel 中的渲染部分。
安装
您可以通过 Composer 安装此软件包
$ composer require julienmru/laravel-partialcache
在 Laravel 5.5 中,软件包的服务提供程序和外观将自动注册。在旧版本的 Laravel 中,您必须手动注册它们
// config/app.php 'providers' => [ ... JulienMru\PartialCache\PartialCacheServiceProvider::class, ], 'aliases' => [ ... 'PartialCache' => JulienMru\PartialCache\PartialCacheFacade::class, ],
外观是可选的,但本指南的其余部分假设您正在使用它。
发布配置文件
$ php artisan vendor:publish --provider="JulienMru\PartialCache\PartialCacheServiceProvider"
使用方法
该软件包注册了一个 blade 指令,@cache
。缓存指令接受与 @include
相同的参数,以及可选参数,用于指定视图应缓存的时间(分钟)、渲染视图的唯一键和缓存标签。如果没有提供分钟数,视图将保留直到您手动从缓存中移除它。
注意:这缓存的是渲染的 HTML,而不是像 blade 默认视图缓存那样的渲染的 PHP。
{{-- Simple example --}}
@cache('footer.section.partial')
{{-- With extra view data --}}
@cache('products.card', ['product' => $category->products->first()])
{{-- For a certain time --}}
{{-- (cache will invalidate in 60 minutes in this example, set null to remember forever) --}}
@cache('homepage.news', null, 60)
{{-- With an added key (cache entry will be partialcache.user.profile.{$user->id}) --}}
@cache('user.profile', null, null, $user->id)
{{-- With an added tag (only supported by memcached and others) }}
@cache('user.profile', null, null, $user->id, 'userprofiles')
{{-- With array of tags (only supported by memcached and others) }}
@cache('user.profile', null, null, $user->id, ['user', 'profile', 'location'])
清除 PartialCache
您可以使用 PartialCache::forget($view, $key)
忘记一个部分缓存条目。
PartialCache::forget('user.profile', $user->id);
如果您在条目上使用了 @cache 以及标签,并且您的缓存驱动程序支持它们(如 memcached 和其他),您需要使用相同的标签来忘记条目。
// With an added tag PartialCache::forget('user.profile', $user->id, 'userprofiles'); // With array of tags PartialCache::forget('user.profile', $user->id, ['user', 'profile', 'location']);
如果您想清除所有条目,您需要调用 PartialCache::flush()
(注意:这仅由支持标签的驱动程序支持),或者清除您的整个缓存。
配置
配置不是必需的,但有一些环境变量您可以使用
PARTIAL_CACHE_ENABLED
:完全启用或禁用缓存。默认为true
。PARTIAL_CACHE_DIRECTIVE
:要注册的 blade 指令的名称。默认为cache
。PARTIAL_CACHE_KEY
:用于缓存条目的基本键。默认为partialcache
。PARTIAL_CACHE_DEFAULT_DURATION
:默认缓存持续时间(分钟),设置为null
以永久保留。默认为null
。PARTIAL_CACHE_DRIVER
:用于存储请求的缓存存储。默认为file
。
变更日志
请参阅 CHANGELOG 了解最近更改的信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全性
如果您发现任何安全问题,请通过电子邮件 freek@spatie.be 报告,而不是使用问题跟踪器。
Postcardware
您可以免费使用此软件包,但如果它进入您的生产环境,我们非常希望您从您的家乡给我们寄一张明信片,说明您正在使用我们的哪个软件包。
我们的地址是:Spatie,Samberstraat 69D,2060 安特卫普,比利时。
我们将收到的所有明信片 发布在我们的公司网站上。
信用
支持我们
斯帕蒂是一家位于比利时的安特卫普的网页设计公司。您可以在我们的网站上找到所有开源项目的概述。点击此处查看。
您的业务是否依赖于我们的贡献?请通过Patreon联系我们并提供支持。所有承诺将专门用于分配人力以维护和开发新的酷炫功能。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件。