lkoell / symfony-twig-scoped-cache
此包的最新版本(0.1.0)没有提供许可证信息。
范围化的 Twig 模板缓存。如果您运行许多具有单独模板的域名/客户端,但不想为了更新一个域名/客户端而清除所有模板缓存,这将非常有用。
0.1.0
2020-03-06 09:42 UTC
Requires
- php: ^7.2
- symfony/twig-bundle: ^4.0
This package is auto-updated.
Last update: 2024-09-06 20:12:15 UTC
README
范围化的 Twig 模板缓存。如果您运行许多具有单独模板的域名/客户端,但不想为了更新一个域名/客户端而清除所有模板缓存,这将非常有用。
基本思想是模板缓存是基于范围生成的。
默认范围是 "Hostname",但您也可以自定义
在您的 bundles.php 文件中添加:
<?php return [ // ..., \LkScopedCache\LkScopedCacheBundle::class => ['all' => true], ];
配置
这是一个使用打包的 "HostScopeProvider" 的示例配置。它将根据主机名范围化您的模板。
在您的 services.yml 文件中配置一个范围提供者
hostscope_provider:
class: LkScopedCache\Twig\Cache\HostScopeProvider
arguments:
- "%kernel.cache_dir%/twig"
- "@request_stack"
使用上述提供者配置范围化的文件系统缓存
my_app.twig.cache.website_aware:
class: Lk\ScopedCache\Twig\Cache\ScopedFilesystemCache
arguments:
- '@hostscope_provider'
tags: ['lk_scopedcache']
给缓存类添加标签 "lk_scopedcache" 非常重要,因为这将触发默认的 Twig 缓存被范围化缓存替换。
定制化
您还可以通过实现 LkScopedCache\Twig\Cache\ScopeProvider
接口来自定义自己的 ScopeProvider。