W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在 Laravel 注冊一個(gè)自定義的緩存驅(qū)動(dòng),我們需要在 Cache
門面上使用 extend
方法。 對 Cache::extend
的調(diào)用可以在新的 Laravel 應(yīng)用程序中自帶的 App\Providers\AppServiceProvider
的 boot
方法中完成,或者你也可以自己創(chuàng)建服務(wù)提供者來存放擴(kuò)展,只是不要忘記在 config/app.php
的 provider 的數(shù)組中注冊服務(wù)提供者:
<?php
namespace App\Providers;
use App\Extensions\MongoStore;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\ServiceProvider;
class CacheServiceProvider extends ServiceProvider
{
/**
* 注冊應(yīng)用服務(wù)
*
* @return void
*/
public function register()
{
//
}
/**
* 引導(dǎo)應(yīng)用服務(wù)
*
* @return void
*/
public function boot()
{
Cache::extend('mongo', function ($app) {
return Cache::repository(new MongoStore);
});
}
}
傳遞給 extend
方法的第一個(gè)參數(shù)是驅(qū)動(dòng)程序的名稱。 該值對應(yīng) config/cache.php
配置文件中的 driver
選項(xiàng)。 第二個(gè)參數(shù)是返回 Illuminate\Cache\Repository
實(shí)例的閉包。該閉包中被傳入一個(gè) $app
的實(shí)例, 也就是 服務(wù)容器 的一個(gè)實(shí)例。
一旦你的擴(kuò)展被注冊以后,只需要更新配置文件 config/cache.php
的 driver
選項(xiàng)作為自定義擴(kuò)展名稱即可。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: