我希望可以避免使用Cache外观并将其注入到我的控制器中,像这样:
use Illuminate\Contracts\Cache\Store;
...
protected $cache;
public function __construct(Store $cache)
{
$this->cache = $cache;
}
我随后在AppServiceProvider.php中使用了应用绑定。
public function register()
{
$this->app->bind(
'Illuminate\Contracts\Cache\Store',
'Illuminate\Cache\FileStore'
);
}
然而,我得到了以下错误,因为FileStore.php在构造函数中需要$files和$directory参数。
在Container.php的第872行中的BindingResolutionException错误: 在Illuminate\Cache\FileStore类中解析不可解决的依赖项[参数#1 [$directory]]
你有什么想法可以解决这个问题吗?
Illuminate\Cache\Repository ::class
而不是cache.store
),那么一切都会变得更容易。如果我能跳进 Facade,看到那里引用的类,并注入它,那就太好了。 - Moritz Friedrich