spatie/laravel-partialcache

该包已被放弃,不再维护。未建议替代包。

Blade指令用于在Laravel中缓存渲染的部分视图

1.3.0 2018-04-16 15:27 UTC

This package is auto-updated.

Last update: 2020-01-08 15:46:27 UTC


README

🚨 该包已被放弃 🚨

我们不再在我们自己的项目中使用此包,也无法证明维护它所需的时间。这就是我们选择放弃它的原因。请随意fork我们的代码并维护你自己的副本。

Laravel缓存部分Blade指令

Latest Version on Packagist Software License Quality Score StyleCI Total Downloads

此包为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)。有关更多信息,请参阅许可证文件