PSR-6和PSR-16缓存之间的互操作性适配器

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 5.0,现已不再维护。

本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。

PSR-6和PSR-16缓存之间的互操作性适配器

方法的缓存对象有时可能实现PSR-16标准,但需要将其传递给一个期望PSR-6缓存适配器。或者,你可能会遇到相反的情况。缓存组件包含两个类,用于PSR-6和PSR-16缓存之间的双向互操作性。

使用PSR-16缓存对象作为PSR-6缓存

假设您希望使用一个需要PSR-6缓存池对象的类。例如:

12 3 4 5 6 7 8 9 10 11 12 13
使用Psr缓存CacheItemPoolInterface//只是一个为示例创建的类GitHubApiClient/ /……//需要一个PSR-6缓存对象公共函数__construct(CacheItemPoolInterfacecachePool/ /……}}

但是,您已经有了一个PSR-16缓存对象,您希望将其传递给类。没问题!缓存组件提供Psr16Adapter类用于此用例:

1 2 3 4 5 6 7 8 9
使用欧宝娱乐app下载地址组件缓存适配器Psr16Adapter// $psr16Cache是你想要用作PSR-6的PSR-16对象//一个在内部使用你的缓存的PSR-6缓存!psr6CachePsr16Adapter (psr16Cache);//现在在任何你想要的地方使用它githubApiClientGitHubApiClient (psr6Cache);

使用PSR-6缓存对象作为PSR-16缓存

假设您希望使用一个需要PSR-16缓存对象的类。例如:

12 3 4 5 6 7 8 9 10 11 12 13
使用PsrSimpleCacheCacheInterface//只是一个为示例创建的类GitHubApiClient/ /……//需要一个PSR-16缓存对象公共函数__construct(CacheInterface缓存/ /……}}

但是,您已经有了一个PSR-6缓存池对象,您希望将其传递给类。没问题!缓存组件提供Psr16Cache类用于此用例:

1 2 3 4 5 6 7 8 9 10 11
使用欧宝娱乐app下载地址组件缓存适配器FilesystemAdapter使用欧宝娱乐app下载地址组件缓存Psr16Cache//想要使用的PSR-6缓存对象psr6CacheFilesystemAdapter ();//一个在内部使用你的缓存的PSR-16缓存!psr16CachePsr16Cache (psr6Cache);//现在在任何你想要的地方使用它githubApiClientGitHubApiClient (psr16Cache);
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。