#自定义契约服务
// 比如缓存
namespace App\Extensions;
use Illuminate\Contracts\Cache\Store;
class MongoStore implements Store
{
public function get($key) {}
public function many(array $keys);
// ... 实现各种接口
}
// 其中'mongo'为驱动名称 如:`'driver' => 'mongo',`
// 注册契约扩展(驱动) ServiceProvider
public function boot()
{
Cache::extend('mongo', function ($app) {
return Cache::repository(new App\Extensions\MongoStore);
});
}