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

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 4.2,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

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

有时,您可能有一个缓存对象实现PSR-16标准,但需要传递一个对象,预计PSR-6缓存适配器。或者,你可能会有相反的情况。缓存组件包含两个类之间的双向互操作性PSR-6和PSR-16缓存。

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

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

1 2 3 4 5 6 7 8 9 10 11 12 13
使用Psr\缓存\CacheItemPoolInterface;/ /只是一个虚构的类的例子GitHubApiClient{/ /……/ /这需要PSR-6缓存对象公共函数__construct(CacheItemPoolInterface美元cachePool){/ /……}}

但是,你已经有一个PSR-16缓存对象,你想通过这类。没问题!缓存组件提供了SimpleCacheAdapter这个用例类:

1 2 3 4 5 6 7 8 9 10 11
使用欧宝娱乐app下载地址\组件\缓存\适配器\SimpleCacheAdapter;使用欧宝娱乐app下载地址\组件\缓存\简单的\FilesystemCache;/ /你想使用PSR-16缓存对象美元psr16Cache=FilesystemCache ();/ / PSR-6缓存,使用你的内部缓存!美元psr6Cache=SimpleCacheAdapter (美元psr16Cache);/ /现在使用这无论你想要的美元githubApiClient=GitHubApiClient (美元psr6Cache);

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

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

1 2 3 4 5 6 7 8 9 10 11 12 13
使用Psr\SimpleCache\CacheInterface;/ /只是一个虚构的类的例子GitHubApiClient{/ /……/ /这需要PSR-16缓存对象公共函数__construct(CacheInterface美元缓存){/ /……}}

但是,你已经有一个PSR-6缓存池对象,你想通过这类。没问题!缓存组件提供了Psr6Cache这个用例类:

1 2 3 4 5 6 7 8 9 10 11
使用欧宝娱乐app下载地址\组件\缓存\适配器\FilesystemAdapter;使用欧宝娱乐app下载地址\组件\缓存\简单的\Psr6Cache;/ /你想使用PSR-6缓存对象美元psr6Cache=FilesystemAdapter ();/ / PSR-16缓存,使用你的内部缓存!美元psr16Cache=Psr6Cache (美元psr6Cache);/ /现在使用这无论你想要的美元githubApiClient=GitHubApiClient (美元psr16Cache);
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。