Php 在独立的Laravel缓存实例中添加自定义缓存驱动程序

Php 在独立的Laravel缓存实例中添加自定义缓存驱动程序,php,laravel-5,Php,Laravel 5,使用Laravel(light/cache)的缓存组件作为我的应用程序的缓存后端,如何注册新的自定义缓存驱动程序?由于我根本不使用Laravel(仅照明/Cache),因此我无法将其添加到服务提供商,并且缓存外观返回并出错 请注意,通过使用singleton函数在空的illighted\Container\Container中传递配置等,我成功地使用了默认驱动程序(file、memcached、redis): 编辑-如何获取缓存存储的示例代码: 首先,您需要确保驱动程序扩展了illumb\Con

使用Laravel(
light/cache
)的缓存组件作为我的应用程序的缓存后端,如何注册新的自定义缓存驱动程序?由于我根本不使用Laravel(仅
照明/Cache
),因此我无法将其添加到服务提供商,并且
缓存
外观返回并出错

请注意,通过使用
singleton
函数在空的
illighted\Container\Container
中传递配置等,我成功地使用了默认驱动程序(file、memcached、redis):

编辑-如何获取缓存存储的示例代码:


首先,您需要确保驱动程序扩展了
illumb\Contracts\Cache\Store
接口

那么你应该能够做一些事情,比如:

$cacheManager->extend('you-custom-driver-name', function ($app) use($cacheManager) {
    return $cacheManager->repository(new YourCustomDriver);
});


希望这有帮助

如果“在一个空的
illighted\Container\Container
”中传递配置等,您是否可以显示代码?:)问题编辑。只要用你的
CacheManager
实例替换
CacheManager
外观,例如
$CacheManager->extend(…)
我仍然得到
InvalidArgumentException:Driver[fooDriver]不受支持。
错误原来我的驱动程序名有一个输入错误。您的解决方案有效,谢谢!如果你愿意,你可以把它贴出来作为答案,我会把它标记为已接受。
$cacheManager->extend('you-custom-driver-name', function ($app) use($cacheManager) {
    return $cacheManager->repository(new YourCustomDriver);
});