lkoell/symfony-twig-scoped-cache

此包的最新版本(0.1.0)没有提供许可证信息。

范围化的 Twig 模板缓存。如果您运行许多具有单独模板的域名/客户端,但不想为了更新一个域名/客户端而清除所有模板缓存,这将非常有用。

0.1.0 2020-03-06 09:42 UTC

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。