spatie / laravel-partialcache
Blade指令用于在Laravel中缓存渲染的部分视图
Requires
- php: >=5.5.0
Requires (Dev)
- phpunit/phpunit: 4.*
- scrutinizer/ocular: ~1.1
README
🚨 该包已被放弃 🚨
我们不再在我们自己的项目中使用此包,也无法证明维护它所需的时间。这就是我们选择放弃它的原因。请随意fork我们的代码并维护你自己的副本。
Laravel缓存部分Blade指令
此包为Laravel >=5.1提供Blade指令,用于缓存Laravel中的渲染部分视图。
安装
您可以通过Composer安装此包
$ composer require spatie/laravel-partialcache
在Laravel 5.5中,包的服务提供程序和外观将自动注册。在旧版本的Laravel中,您必须手动注册它们
// config/app.php 'providers' => [ ... Spatie\PartialCache\PartialCacheServiceProvider::class, ], 'aliases' => [ ... 'PartialCache' => Spatie\PartialCache\PartialCacheFacade::class, ],
外观是可选的,但本指南的其余部分假设您正在使用它。
可选:发布配置文件
$ php artisan vendor:publish --provider="Spatie\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()
(注意:这仅由支持标签的驱动程序支持),或者清除您的整个缓存。
配置
配置不是必需的,但在配置文件中指定了三个选项
partialcache.enabled
:完全启用或禁用缓存。默认为true
。partialcache.directive
:要注册的Blade指令的名称。默认为cache
。partialcache.key
:用于缓存条目的基本键。默认为partialcache
。partialcache.default_duration
:默认缓存时长(分钟),设置null
表示永久记住。默认为null
。
变更日志
请参阅CHANGELOG获取更多关于最近更改的信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件freek@spatie.be联系,而不是使用问题跟踪器。
Postcardware
您可以自由使用这个包,但如果它进入您的生产环境,我们非常感谢您从您的家乡给我们寄一张明信片,并注明您正在使用我们哪个包。
我们的地址是:Spatie,Samberstraat 69D,2060 安特卫普,比利时。
我们将所有收到的明信片发布在我们的公司网站上。
鸣谢
支持我们
Spatie是一家位于比利时安特卫普的网页设计公司。您可以在我们的网站上找到所有开源项目的概述在这里。
您的业务是否依赖于我们的贡献?请与我们联系并在Patreon上支持我们。所有承诺都将用于分配人力资源进行维护和新酷炫的功能。
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。