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