1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Laravel5でCacheをフレームワークの外から使う方法

Last updated at Posted at 2016-12-13

外からつかうなんてないよね?

  • いやテストで・・・
  • いや実はバッチで・・・
  • いやフレームワークとは離したモジュールにしたくて・・・

いろんな理由でフレームワークの一部機能を外から使いたいなんて無謀なことに挑んでいる方は一定数いらっしゃると思われます。そんな人のお役に立てればと思い書きました。

ちなみに、ORMであるEloquentは拙筆のLaravel5でEloquentをフレームワークの外から使う方法をご覧ください。

ここではRedisをキャッシュとして使う方法を書いていますが、他のfileやopcacheなども同じ方法で可能と思われます。

結論

    $app = new \Illuminate\Container\Container();
    $app->singleton('redis', function () {
        return new \Illuminate\Redis\Database([
            'client' => 'predis',
            'default' => [[
                'host' => 'localhost',
                'port' => 6379,
                'database' => 0,
            ]],
        ]);
    });
    $app->singleton('config', function () {
        return [
            'cache.default' => 'redis',
            'cache.prefix' => '',
            'cache.stores.redis' => [
                'driver'     => 'redis',
                'connection' => 'default',
            ],
        ];
    });

    $manager = new \Illuminate\Cache\CacheManager($app);
        $cache = $manager->driver();

    echo $cache->get('hogehoge');
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?