小编LWj*_*iOr的帖子

Lumen Cache\Store不可实例化

我对Laravel和Lumen很新,所以我的问题可能有点简单,但我找不到任何有用的答案.

流明版是5.1.

所以我尝试创建一个缓存支持的数据存储库.首先我想使用FileStore,然后我想转向更合适的一些.

我试着像这样注入Cache存储库:

<?php

    namespace App\Repositories;

    use Illuminate\Cache\Repository;

    class DataRepository
    {
        private $cache;

        public function __construct(Repository $cache)
        {
            $this->cache = $cache;
        }
    }
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很简单.但是,当我尝试在我的控制器中使用此repo,并尝试将此repo注入其中时,在实例化期间,我收到以下错误:

BindingResolutionException in Container.php line 749:
Target [Illuminate\Contracts\Cache\Store] is not instantiable.
Run Code Online (Sandbox Code Playgroud)

我猜测存储库找不到匹配和可用的存储实现.当我尝试将Store绑定到\ Illumante\Cache\FileStore时,如下所示:

$this->app->bind(\Illuminate\Contracts\Cache\Store::class, \Illuminate\Cache\FileStore::class);
Run Code Online (Sandbox Code Playgroud)

我遇到了一种新的错误:

Unresolvable dependency resolving [Parameter #1 [ <required> $directory ]] in class Illuminate\Cache\FileStore
Run Code Online (Sandbox Code Playgroud)

我想我有一个更复杂的配置问题,所以我不想遍历依赖树.

在我的.env我有这些:

CACHE_DRIVER=file 和 SESSION_DRIVER=file

在Lumen中,我明确地启用了外观,DotEnv(以及我的数据存储库的口才).

Dotenv::load(__DIR__.'/../');

$app = new Laravel\Lumen\Application(
    realpath(__DIR__.'/../')
);

$app->withFacades();
$app->withEloquent();
Run Code Online (Sandbox Code Playgroud)

我尝试添加cache.php配置.在bootstrap/app.php中,我添加$app->configure('cache');了以下配置使用它:

<?php

return [
    'default' => env('CACHE_DRIVER', …
Run Code Online (Sandbox Code Playgroud)

caching laravel-5 lumen

2
推荐指数
1
解决办法
1219
查看次数

标签 统计

caching ×1

laravel-5 ×1

lumen ×1